我可以改变EditText
的线条颜色吗?当它处于活动状态时,它有一些绿色调。
是否可能仅在活动时更改线条颜色,并且如何实现此操作...?
我可以改变EditText
的线条颜色吗?当它处于活动状态时,它有一些绿色调。
是否可能仅在活动时更改线条颜色,并且如何实现此操作...?
在您的themes.xml中添加以下行:
<item name="colorAccent">@color/black</item>
这将设置colorControlActivated
的默认颜色,用于给小部件着色。
您需要为编辑文本设置背景源。
android:background="@drawable/my_theme_edit_text"
。或者您可以在您的应用程序主题中设置该背景 - 您可以在该网站的.zip文件中找到示例。在这里:
editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
您可以将EditText的背景设置为一个矩形,并在左、右和上方减小内边距来实现此目的。
以下是用于设置聚焦和非聚焦EditText不同行颜色的XML示例,只需将其设置为EditText的背景即可。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:top="-2dp"
android:left="-2dp"
android:right="-2dp"
android:bottom="2dp">
<selector >
<item android:state_enabled="true"
android:state_focused="true">
<shape
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#6A9A3A"/>
</shape>
</item>
<item android:state_enabled="true">
<shape
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#000000"/>
</shape>
</item>
</selector>
</item>
</layer-list>
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:background="@drawable/text"
android:ems="10"
android:textColorHint="#fefefe"
android:hint="@string/text1"
android:textColor="#fefefe"
android:inputType="textEmailAddress"
android:layout_marginTop="10dp"
/>
使用以下代码在您的res/drawable/text.xml中:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="24.0dp">
<shape >
<solid android:color="#fefefe" />
</shape>
</item>
</layer-list>
您可以设置android:backgroundTint="@color/blue"来更改EditText底部线条的颜色。
我遇到了同样的问题,通过以下方式更改backgroundTint的颜色解决了它 -
android:backgroundTint="@color/light_color"
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/your color</item>
<item name="colorControlHighlight">@color/your color</item>
默认情况下,颜色为colorAccent。
您可以在API 21或更高版本上使用android:background = "@color/black"
(这适用于Lollypop设备或更高版本),而对于低于此版本的设备,您应该将样式应用到EditText。