首先,文本视图“完成”仅在大型设备上可见。action_mode_close_item.xml
在 Android 源代码中结帐。因此,android:actionModeCloseButtonStyle
仅适用于包含视图,而不适用于 imageview 和 textview。
幸运的是,android 工程师使用可公开访问的属性来设置子视图的样式。
- 用于
android:actionMenuTextColor
更改为 TextView 的 textColor。
- 用于
android:actionModeCloseDrawable
更改 ImageView 的可绘制对象
例子:
<style name="MyTheme">
<item name="android:actionMenuTextColor">#ff000000</item>
<item name="android:actionModeCloseDrawable">@drawable/my_close_drawable</item>
</style>
下面是 -folder 中的副本,您可以action_mode_close_item.xml
在layout-large
其中查看布局的构建方式。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/action_mode_close_button"
android:focusable="true"
android:clickable="true"
android:paddingStart="8dip"
style="?android:attr/actionModeCloseButtonStyle"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="16dip">
<ImageView android:layout_width="48dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="center"
android:src="?android:attr/actionModeCloseDrawable" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="4dip"
android:layout_marginEnd="16dip"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/actionMenuTextColor"
android:textSize="12sp"
android:textAllCaps="true"
android:text="@string/action_mode_done" />
</LinearLayout>