[英]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.