23

コンテキスト アクション バー (CAB) のスタイル情報を探しています。実際にはテキストの色を変更する必要があるだけです..

コンテキスト アクションバーの結果

上記からわかるように、これは標準のTheme.Holo.Light.DarkActionBarテーマを使用しているため、テキストの色を白に設定するだけです!

誰かが私を正しい方向に向けることができますか?

4

4 に答える 4

51

コンテキスト アクション バーのテキストの色などを変更するには:

public boolean onCreateActionMode(ActionMode mode, Menu menu) {
  //mode.setTitle("Contextual Action Bar"); (replace this call)
  TextView tv= (TextView)getLayoutInflater().inflate(R.layout.contextual_title, null);
  tv.setText("Contextual Action Bar");
  mode.setCustomView(tv);

layout/contextual_title.xml には、目的の色/サイズ/スタイルなどを持つ単一の TextView が含まれています

実際、コンテキスト アクション バーのほとんどすべてにスタイルを設定できます。唯一の問題は、'contextual' という単語を検索しても何の役にも立たないことです。関連するスタイリング機能はすべて「actionMode...」と呼ばれます。これが私が使用したものです(私のテーマで定義されています)。

<item name="android:actionModeCloseDrawable">@drawable/check</item>
<item name="android:actionModeCutDrawable">@drawable/ic_menu_cut_holo_dark</item>
<item name="android:actionModeCopyDrawable">@drawable/ic_menu_copy_holo_dark</item>
<item name="android:actionModePasteDrawable">@drawable/ic_menu_paste_holo_dark</item>
<item name="android:actionModeSelectAllDrawable">@drawable/ic_menu_selectall_holo_dark</item>
<item name="android:actionModeBackground">@drawable/contextual</item>
<item name="android:actionModeCloseButtonStyle">@style/MyCloseButton</item>

<!-- these change the press backgrounds for the vanilla actionBar and for search -->
<item name="android:windowContentOverlay">@null</item>
<item name="android:selectableItemBackground">@drawable/bar_selector</item>
<item name="android:actionBarItemBackground">@drawable/bar_selector</item>      

<!-- these were defined in platform/.../data/res/values/... but Eclipse didn't recognize them -->
<!--? item name="android:actionModeShareDrawable">@drawable/icon</item -->
<!--? item name="android:actionModeFindDrawable">@drawable/icon</item -->
<!--? item name="android:actionModeWebSearchDrawable">@drawable/icon</item -->
<!-- item name="android:actionModeBackground">@drawable/red</item -->

<!-- and finally -->
<style name="MyCloseButton" parent="android:style/Widget.ActionButton.CloseMode">
    <item name="android:background">@drawable/bar_selector</item>
</style>

独自のテキスト編集カット/ペースト/コピー/選択すべてのアイコン、バーの背景、およびアイコンを押すと色が変わるアイコンの背景 (上記の bar_selector) を簡単に設定できます。アイコンはボタンではなく ImageView であり、編集 ID (およびプレス可能な背景) は、「内部」タイプである ImageView の親 (ビューごとに 1 つの親) にアタッチされます。

スタイルのどこに何が入るかは決して明確ではありません.selectableItemBackgroundがプラットフォームのThemes.xmlのどこにあるかを見つけ、それを指しているドローアブルをコピーして変更しました.

于 2012-06-30T19:43:26.453 に答える
4

私は自分の質問にコメントを投稿しましたが、これは実際には私が使用していたアンドロイドのバージョンのバグです (おそらく 4.0 の初期バージョン)

これは説明されているバグです: http://code.google.com/p/android/issues/detail?id=26008

于 2013-01-31T21:20:24.800 に答える
0

現在は機能していますが、values/styles.xml (values-v#/styles.xml ではない) に入力し、一般 (非 API 固有のタグ) に入力する必要があります。

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:actionModeCloseDrawable">@drawable/ic_launcher</item>
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
于 2014-02-26T22:58:40.560 に答える