And*_*ast 103 android login android-edittext
我想改变编辑文本下面的蓝色,我不知道它是什么属性.
我尝试使用不同的背景颜色,但它不起作用.
我在下面附上了一张图片:

Jin*_* Li 87
实际上,以编程方式设置EditText的下划线颜色相当容易(只需一行代码).
设置颜色:
editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)
要删除颜色:
editText.getBackground().clearColorFilter();
Run Code Online (Sandbox Code Playgroud)
注意:当EditText具有焦点时,您设置的颜色将不会生效,而是具有焦点颜色.
API参考:
Soh*_*shi 81
使用android:backgroundTint=""你的EditTextXML布局.
对于api <21,您可以使用AppCompatEditText支持库app:backgroundTint=""
小智 38
对于EditText焦点,启用,激活的每个状态,您必须使用不同的背景图像,而不是颜色.
http://android-holo-colors.com/
在上面的网站中,您可以从Holo主题中的许多组件中获取图像.只需选择"EditText"和您想要的颜色即可.您可以在页面底部看到预览.
下载.zip文件,然后复制粘贴项目中的资源(图像和XML).
如果你的XML被命名为:apptheme_edit_text_holo_light.xml(或类似的东西):
转到XML"styles.xml"并添加自定义EditText样式:
<style name="EditTextCustomHolo" parent="android:Widget.EditText">
<item name="android:background">@drawable/apptheme_edit_text_holo_light</item>
<item name="android:textColor">#ffffff</item>
</style>
Run Code Online (Sandbox Code Playgroud)只需在你的EditText:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/EditTextCustomHolo"/>
Run Code Online (Sandbox Code Playgroud)就是这样,我希望它对你有所帮助.
Suf*_*ian 21
这适用于新旧版本的Android(即使在API 10上也能正常工作!).
在您的styles.xml:中定义此样式:
<style name="EditText.Login" parent="Widget.AppCompat.EditText">
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorHint">@android:color/darker_gray</item>
<item name="colorAccent">@color/blue</item>
<item name="colorControlNormal">@color/blue</item>
<item name="colorControlActivated">@color/blue</item>
</style>
Run Code Online (Sandbox Code Playgroud)
现在在您的XML中,将其设置为主题和样式(要设置的样式textColor,以及设置所有其他内容的主题):
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
style="@style/EditText.Login"
android:theme="@style/EditText.Login"/>
Run Code Online (Sandbox Code Playgroud)
此解决方案在较新的Android版本(Lollipop或Marshmallow以上)上导致微小的UI故障,选择句柄加下划线.
此问题在此主题中讨论.(我没有亲自试过这个解决方案)
Dha*_*mar 17
您可以更改在styles.xml中指定它的EditText颜色的下划线.在您的应用主题styles.xml中添加以下内容.
<item name="android:textColorSecondary">@color/primary_text_color</item>
Run Code Online (Sandbox Code Playgroud)
正如ana在评论部分所指出的那样
<item name="android:colorControlActivated">@color/black</item>
Run Code Online (Sandbox Code Playgroud)
在主题样式中设置此项适用于更改edittext下划线的颜色.
Vul*_*sin 13
因此,您需要在drawable文件夹中创建一个新的.xml文件.
在该文件中粘贴此代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="8dp"
android:left="-3dp"
android:right="-3dp"
android:top="-3dp">
<shape android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/white"/>
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
在EditText中,设置
android:background="@drawable/your_drawable"
Run Code Online (Sandbox Code Playgroud)
您可以使用可绘制的xml,设置角落,填充等.
在您的app风格中定义属性colorAccent.在这里你找到一个例子
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/action_bar</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/action_bar</item>
</style>
Run Code Online (Sandbox Code Playgroud)
您可以轻松地使用这行代码以编程方式更改 EditText 的颜色:
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
使用下面的代码更改编辑文本边框的背景颜色。
在drawable下创建新的XML文件。
abc.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#00000000" />
<stroke android:width="1dip" android:color="#ffffff" />
</shape>
Run Code Online (Sandbox Code Playgroud)
并将其添加为编辑文本的背景
android:background="@drawable/abc"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
152897 次 |
| 最近记录: |