Android文字选择文字颜色已关闭

时间:2015-08-16 22:18:20

标签: android android-theme android-toolbar

我有一个工具栏,其文字颜色应为白色。但是,我希望我的主题成为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>

但是,当我选择文本时,工具栏看起来很奇怪:

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 个答案:

答案 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);
    }
}