2015-08-16 67 views
1

我有一個工具欄,其文本顏色應該是白色。不過,我希望我的主題成爲Light主題。Android文本選擇文本顏色不亮

這是我目前如何實現這一目標:

activity_main.xml中

<android.support.v7.widget.Toolbar 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/toolbar" 
    android:minHeight="?attr/actionBarSize" 
    android:background="@color/primary" 
    android:theme="@style/ActionBar"/> 

styles.xml

<style name="ActionBar" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item> 
    <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_dark</item> 
    <item name="actionMenuTextColor">@color/abc_primary_text_material_light</item> 
    <item name="android:textColorSecondary">@color/abc_primary_text_material_dark</item> 
</style> 

然而,當我選擇文本,工具欄看起來非常奇怪:

enter image description here

正如您所看到的,當它應該是黑色時,最上面的工具欄的顏色爲白色。

所以這裏是我的問題:我怎樣才能讓最上面的文本選擇工具欄看起來可以接受?文字顏色需要改變,或者背景顏色需要改變。要麼爲我工作。

我曾嘗試這樣的代碼:

styles.xml

<item name="actionModeStyle">@android:style/Theme.Black</item> 
<item name="android:actionModeBackground">@android:color/black</item> 

和驗證碼:

styles.xml

<item name="actionModeStyle">@style/textSelection</item> 
<style name="textSelection"> 
    <item name="textColorPrimary">@color/abc_primary_text_material_light</item> 
</style> 

但既不工程。

我在做什麼錯?

回答

1

您現在可能已經解決了這個問題,但是我通過創建主題(在themes.xml中)並設置了actionModeBackground來實現此功能,類似於您在工具欄樣式中所做的操作。

<style name="LightTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    ... 
    <!-- toolbar --> 
    <item name="actionModeBackground">@color/themeActionMode_light</item> 
    ... 
</style> 

然後,一旦活動啓動後,我設置了主題:

public class MyActivity extends AppCompatActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     this.setTheme(R.style.LightTheme) 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.foo); 
    } 
}