我有一个工具栏,其文字颜色应为白色。但是,我希望我的主题成为Light主题。
以下是我目前的成就:
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>
但是,当我选择文本时,工具栏看起来很奇怪:
如您所见,最顶层工具栏的颜色应为黑色时为白色。
所以这是我的问题:如何使最顶层的文本选择工具栏看起来可以接受?文本颜色需要更改,或者背景颜色需要更改。对我有用。
我试过这段代码:
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>
但不起作用。
我做错了什么?
答案 0 :(得分:1)
您现在可能已经解决了这个问题,但我通过创建主题(在themes.xml
中)并设置actionModeBackground
来实现此功能,类似于您在工具栏样式中所做的操作。 / p>
<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);
}
}