方形浮动操作按钮
Floating Action Button with square shape
当我为我的 fab 设置颜色时,它看起来像这样:
我的布局xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$PlaceholderFragment">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
android:layout_marginRight="20dp"
app:fabSize="normal"
android:elevation="@dimen/fab_elevation"
android:background="#000000"
android:stateListAnimator="@animator/fab_anim"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
颜色也没有改变。
谁能帮助我理解我做错了什么?
我也试过 @color
link 但是它崩溃了,背景是可绘制的 (ex. android:background="@drawable/fab_background")
没有任何反应。
这是可绘制对象fab_background.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<ripple android:color="@color/fab_color_1_muted">
<item>
<shape>
<solid android:color="@color/fab_color_1" />
</shape>
</item>
</ripple>
</item>
使用
app:backgroundTint="@android:color/holo_green_dark"
(例如)设置fab的颜色。结果如下。
另请编辑:"strange green color" 应该来自您的强调色。这是工厂默认采用的颜色。
在您的 xml
中使用此代码
app:borderWidth="0dp"
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
android:layout_marginRight="20dp"
app:fabSize="normal"
android:elevation="@dimen/fab_elevation"
android:background="#000000"
app:borderWidth="0dp"
android:stateListAnimator="@animator/fab_anim"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
只需添加app:borderWidth="0dp"
只需设置 app:borderWidth="0dp" 即可解决问题。
当我为我的 fab 设置颜色时,它看起来像这样:
我的布局xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$PlaceholderFragment">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
android:layout_marginRight="20dp"
app:fabSize="normal"
android:elevation="@dimen/fab_elevation"
android:background="#000000"
android:stateListAnimator="@animator/fab_anim"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
颜色也没有改变。 谁能帮助我理解我做错了什么?
我也试过 @color
link 但是它崩溃了,背景是可绘制的 (ex. android:background="@drawable/fab_background")
没有任何反应。
这是可绘制对象fab_background.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<ripple android:color="@color/fab_color_1_muted">
<item>
<shape>
<solid android:color="@color/fab_color_1" />
</shape>
</item>
</ripple>
</item>
使用
app:backgroundTint="@android:color/holo_green_dark"
(例如)设置fab的颜色。结果如下。
另请编辑:"strange green color" 应该来自您的强调色。这是工厂默认采用的颜色。
在您的 xml
中使用此代码app:borderWidth="0dp"
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
android:layout_marginRight="20dp"
app:fabSize="normal"
android:elevation="@dimen/fab_elevation"
android:background="#000000"
app:borderWidth="0dp"
android:stateListAnimator="@animator/fab_anim"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
只需添加app:borderWidth="0dp"
只需设置 app:borderWidth="0dp" 即可解决问题。