簡體   English   中英

如何制作“僅圖像”浮動動作按鈕

[英]How to make an “image only” floating action button

我的圖像如下。

在此輸入圖像描述

當我用它來制作浮動動作按鈕時,按鈕看起來像這樣。

在此輸入圖像描述

我不想要粉紅色的邊緣。 我只想要顯示我的圖像。 我該怎么辦?

我還希望我的圖像的大小是外圈而不是內圈。

這是我的代碼:

<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:layout_margin="@dimen/fab_margin"
        android:src="@drawable/ic_refresh" />

您是否考慮過僅使用ImageView

<ImageView
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:clickable="true"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_refresh" />

比在ActivityMain.java

ImageView v = (ImageView) findViewById(R.id.fab);
v.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
     // Your code here
  }
});

或者更具體地說是ImageButton

<ImageButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_refresh" />

比:

ImageButton v = (ImageButton) findViewById(R.id.fab);
v.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
     // Your code here
  }
});

我不確定這個解決方案是否可以接受,但它確實有效;

您可以在FAB中覆蓋嵌套圖像的圖像大小尺寸。 只需添加到您的尺寸文件:

<dimen tools:override="true" name="design_fab_image_size">56dp</dimen> (我使用56dp導致工廠規模為56dp)

tools:override =“true” - 這就是為什么我認為這個解決方案不好,導致“design_fab_image_size” - 是最終的,你應該堅持覆蓋:)

創建自己的類extends FloatingActionButton並在構造函數中添加這些行

super(context, attrs);
Method method = getClass().getSuperclass().getDeclaredMethod("getSizeDimension");
method.setAccessible(true);
Object r = method.invoke(this);
Field f = super.getClass().getSuperclass().getDeclaredField("mMaxImageSize");
f.setAccessible(true);
f.set(this, r);

您只需在Illustrator / Photoshop中將圖標的尺寸設置為56px即可。 然后確保添加android:backgroundTint="@android:color/transparent"這樣可以使fab顏色透明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM