我有一个驻留在黑暗背景上的edittext。屏幕的设计需要带有while行和白色文本的edittext才能显示。我认为这将是一项简单的任务,但我遇到了一个问题。
我已经查看了StackOverflow的问题,但所有的答案基本上都指向改变整个应用程序中所有edittext控件的样式;这不是一个选项,因为这只会在一个屏幕上影响2个。
我尝试了以下内容,但是线条和提示都不是白色;相反,两者仍然是黑色的。但是,当我在控件中输入内容时,文本是白色的。
OnInit()
drawableBottom和textColorHint都试图为线条着色并将文字提示白色。
有没有人对我在这里缺少什么有任何建议?任何帮助,将不胜感激!
谢谢!
答案 0 :(得分:2)
当您定位API 21及更高版本时,应使用backgroundTint属性:
<EditText
android:id="@+id/text_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_login"
android:textColor="@color/white"
android:backgroundTint="@color/white"
android:textColorHint="@android:color/darker_gray"
android:textColorHighlight="@color/colorPrimaryDark2"
android:imeOptions="actionNext"
android:singleLine="true"
/>
如果您的API级别低于21,则应使用自定义drawable来更改下划线。您可以轻松地从this site创建九个补丁图像,然后将其用作视图的背景。
答案 1 :(得分:1)
我们假设EditText
上有"black" background
。您可以根据自己的背景更改代码。
创建一个xml文件,该文件将被设置为EditText的背景。
xml文件说bg.xml
看起来像 -
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="-2dp" android:left="-2dp" android:right="-2dp">
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#ffffffff" />
<solid android:color="@android:color/black" /> //Change this color according to your background
</shape>
</item>
</layer-list>
你的EditText应该是 -
<EditText
android:id="@+id/text_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_login"
android:textColorHint="#FFFFFF"
android:imeOptions="actionNext"
android:singleLine="true"
android:textColor="#FFFFFF"
android:background="@drawable/bg"
/>
答案 2 :(得分:1)
此问题有一个简单的解决方法。您可以使用具有透明背景的EditText,并在其底部使用视图。设置该视图的颜色,它看起来像一条线。
Layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_dark"
android:orientation="vertical"
android:padding="30dp">
<EditText
android:id="@+id/text_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:hint="Hint here"
android:imeOptions="actionNext"
android:singleLine="true"
android:textColor="#FFFFFF"
android:textColorHint="#FFFFFF" />
<View
android:id="@+id/editTextBottom"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/white" />
</LinearLayout>
快乐编码:)