2012-04-26 7 views
23

コンテキスト・アクション・バー(CAB)のスタイル情報を探しています。あなたは上から見ることができるように、私はちょうどコンテキスト・アクション・バー・スタイル

Result of contextual actionbar

..実際にはテキストの色を変更する必要があり、これは標準Theme.Holo.Light.DarkActionBarテーマを使用して、これだけIれますテキストの色を白に設定する必要があります。

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

+1

これはバグです:http://code.google.com/p/android/issues/detail?id=26008 –

答えて

4

これはバグで説明され

私は自分の質問にコメントを投稿し、これは実際に私は(おそらく4.0の初期バージョン)を使用していたアンドロイドのバージョンのバグです:http://code.google.com/p/android/issues/detail?id=26008

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); 

レイアウト/ contextual_title.xmlは、ご希望のカラー/サイズ/スタイルなどを単一のTextViewが含まれてい

で事実、コンテキスト・アクション・バーのほとんどすべてのスタイルを設定できます。唯一の問題は、「文脈上の」という言葉を探すことはどこも役に立たないということです。関連するスタイリング機能はすべて「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> 

あなたは簡単に独自のテキスト編集カット/コピー/ペースト/のSelectAllアイコン、バー 背景、および色のときを変更し、アイコンの背景を設定することができますアイコン(上のbar_selector)を押します。アイコンはボタンではなくImageViewsであり、編集ID(およびプレス可能な背景)は '内部'タイプのImageViewの親(ビューごとに1つの親)に関連付けられています。

スタイル内のどこに行くのかはわかりません - selectableItemBackgroundがプラットフォームThemes.xmlにあった場所が見つかりました。指し示すドロアブルをコピーして変更しました。

+1

ここでは説明していないことの1つ - 閉じるボタンのテキストの色を変更する方法タイトルではない)。私のデバイスの多くでは、クローズドモードボタンのスタイルを通常のホロとして設定していても、まだ暗く表示されています。私はクローズドモードスタイルでテキストの色を設定しようとしました。 –

+0

これはJeffreyによって指摘されたような質問には答えません。 –

+0

CABの背景をどのように変更すればいいのか詳しく説明できますか?私はitem = "android:actionModeBackground"を私のスタイルのアクションバーに入れても何も起こりません:( – Sandra

0

コンテキストアクションモードを手動で開始する場合は、起動前に新しいテーマでsetTheme()を呼び出すことができます(黒いテキストの黒い問題を回避しようとしている場合は、おそらくTheme.AppCompat.Light.DarkActionBar)。すでにアクティビティのコンテンツビューを設定している場合、これは現在のアクティビティのテーマには影響しません。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.my_activity_layout); 

    // these lines can occur anywhere so long as you've already 
    // called "setContentView()" on the activity. The theme 
    // you set here will apply to the action mode, but not to 
    // the activity. 
    setTheme(R.style.Theme_AppCompat_Light_DarkActionBar); 
    startSupportActionMode(myActionModeCallback); 

} 
0

それが機能するようになりましたが、あなたは値/のstyles.xml(ない値-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> 
関連する問題