我已经在我的EditText中应用了一个样式,以便在没有选中时改变底线,我这样做:
<style name="JoinMeetingEditText" parent="Widget.AppCompat.EditText">
<item name="colorControlNormal">@color/edit_text_no_selected_color</item>
<item name="android:textCursorDrawable">@null</item>
<item name="android:theme">@style/JoinMeetingEditText</item>
</style>
但EditText中的光标显示如下
如果我删除了<item name="android:theme">@style/JoinMeetingEditText</item>
,那么该行不会显示,但我的编辑文字在没有选中时会显示正确的颜色
这就是我在XMl中定义EditText的方法
<android.support.design.widget.TextInputLayout
style="@style/JoinMeetingTextInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/email"
android:theme="@style/JoinMeetingEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
android:inputType="number"
android:textColor="@color/white"
android:textSize="16sp">
<requestFocus />
</EditText>
答案 0 :(得分:0)
您可以像这样创建自定义绘图
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="@color/colorAccent"
/> <!-- pressed -->
<item
android:state_focused="true"
android:color="@color/colorPrimary"
/> <!-- focused -->
<item
android:drawable="@android:drawable/edittext_normal"
/> <!-- default -->
</selector>
将此自定义样式用于该edittext的背景中。这可能会对你有帮助。
答案 1 :(得分:0)
在全球&#34; AppTheme&#34;上更改自定义主题的父级像这样:
parent="AppTheme"
或共同主题,例如:
parent="Theme.AppCompat.Light.NoActionBar"
在您的情况下,自定义主题用作所有EditText子视图(包括光标视图)的主题。当您将AppTheme设置为父级时,它会在EditText属性上重叠光标视图的特殊属性。
我希望这会对你有所帮助。
答案 2 :(得分:0)
我有同样的问题。以下是我如何解决它:https://stackoverflow.com/a/44036429/1439957
P.S。我建议您使用TextInputEditText
作为TextInputLayout
的孩子,而不是EditText
,因为TextInputEditText
是专为此设计的。