我的图像如下。
当我用它来制作浮动动作按钮时,按钮看起来像这样。
我不想要粉红色的边缘。我只想要显示我的图像。我该怎么办?
我还希望我的图像的大小是外圈而不是内圈。
这是我的代码:
<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" />
答案 0 :(得分:7)
您是否考虑过只使用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
}
});
答案 1 :(得分:6)
我不确定这个解决方案是否可以接受,但它确实有效;
您可以在FAB中覆盖嵌套图像的图像大小尺寸。 只需添加到您的尺寸文件:
<dimen tools:override="true" name="design_fab_image_size">56dp</dimen>
(我使用56dp导致工厂规模为56dp)
tools:override =“true” - 这就是为什么我认为这个解决方案不好,因为“design_fab_image_size” - 是最终的,你应该坚持覆盖:)
答案 2 :(得分:1)
创建自己的类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);
答案 3 :(得分:0)
您可以在Illustrator / Photoshop中将图标的尺寸简单地设置为56px。然后确保添加android:backgroundTint="@android:color/transparent"
这个以使工厂颜色透明。