デフォルトのアクション モード (3.0 以降) には、緑色のテーマと左側に [完了] ボタンがあります。これらをカスタマイズするにはどうすればよいですか?
ありがとう
デフォルトのアクション モード (3.0 以降) には、緑色のテーマと左側に [完了] ボタンがあります。これらをカスタマイズするにはどうすればよいですか?
ありがとう
これはすべてのActionModeに使用されるスタイルであり、SDKから取得しました。カスタマイズするには、独自のスタイルを作成する必要があります。とても簡単です。これまでにこのようなことをしたことがない場合は、ActionBarのカスタマイズに関するこの投稿を読む必要があります。それはあなたが知る必要があるすべてを説明します。
<style name="Widget.ActionMode">
<item name="android:background">?android:attr/actionModeBackground</item>
<item name="android:backgroundSplit">?android:attr/actionModeSplitBackground</item>
<item name="android:height">?android:attr/actionBarSize</item>
<item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Title</item>
<item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Subtitle</item>
</style>
私のアプリケーションのソリューション
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionModeBackground">@color/bg_action_bar</item>
</style>
このコードを使用すると、アクション モードの背景色を変更したり、DONE イメージを変更したりできます。注: 画像にテキストを追加することもできます! res/styles.xml で:
<style name="AppTheme" parent="android:Theme.Holo">
<item name="android:actionModeBackground">@android:color/white</item>
<item name="android:actionModeCloseDrawable">@drawable/plus</item>
Lollipop 前後のデバイスの回答を更新しました。Lollipop+ デバイスで動作させるには、次のように android: プレフィックスを削除する必要があります。
スタイル.xml:
<style name="Widget.ActionMode">
<item name="android:background">?android:attr/actionModeBackground</item>
<item name="android:backgroundSplit">?android:attr/actionModeSplitBackground</item>
<item name="android:height">?android:attr/actionBarSize</item>
<item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Title</item>
<item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Subtitle</item>
</style>
v21/styles.xml:
<style name="Widget.ActionMode">
<item name="background">?android:attr/actionModeBackground</item>
<item name="backgroundSplit">?android:attr/actionModeSplitBackground</item>
<item name="height">?android:attr/actionBarSize</item>
<item name="titleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Title</item>
<item name="subtitleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Subtitle</item>
</style>
parent="@style/Widget.AppCompat.ActionMode"
また、オーバーライドを気にしない属性を継承するように、スタイルを設定することをお勧めします。