我正在尝试为EditText获取两种不同的颜色类型。一个应该是"主要"和其他应该是"重音"颜色。
我将styles.xml文件编辑为:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorAccent">@android:color/white</item>
<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">@color/primaryDark</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">@color/primaryDark</item>
</style>
</resources>
但是我只获得了我的编辑句柄,并且cursorto是纯白色,并突出显示选择背景50%白色。只是强调色。这很好,看起来像这样:
但是我还需要将高亮标记设置为主要的50%,将光标设置为实心原色,并将控制柄设置为原色。如此处所示,我无法完成此操作,光标和编辑句柄是&#34; white&#34;所以它们是隐形的:
有没有得到两个主题的EditTexts?
答案 0 :(得分:1)
在EditText上使用android:theme
:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/EditTextTheme1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/EditTextTheme2"/>
</LinearLayout>
您的自定义EditText主题:
<style name="EditTextTheme1" parent="ThemeOverlay.AppCompat.Light">
<item name="colorPrimary">@color/cardview_dark_background</item>
<item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="colorAccent">@color/colorAccent1</item>
</style>
<style name="EditTextTheme2" parent="ThemeOverlay.AppCompat.Dark">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorAccent</item>
<item name="colorAccent">@color/colorAccent2</item>
</style>