我有一个对话框布局,我有3个编辑文本,第一个编辑文本显示下划线颜色为绿色(原色),其他两个编辑文本显示粉红色(颜色重音)。
为什么这样?它应该与其他两个编辑文本相同。
试图改变这个:
name.getBackground().mutate().setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_ATOP);
name.getBackground().setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_ATOP);
也是由SO解决方案。但没有任何帮助。
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
....
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style>
<style name="EditTextStyle" parent="Widget.AppCompat.EditText">
<item name="colorControlNormal">@color/border_gray</item>
<item name="colorControlActivated">@color/border_gray</item>
<item name="colorControlHighlight">@color/border_gray</item>
</style>
布局:
<?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="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<LinearLayout android:layout_height="50dp"
android:layout_width="match_parent"
android:background="@color/colorPrimary">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Schedule"
android:textColor="@android:color/white"
android:textAppearance="@android:style/TextAppearance.Medium"
android:layout_gravity="center"
android:layout_marginLeft="20dp" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="20dp">
<EditText
android:id="@+id/edt_name"
android:layout_width="match_parent"
android:layout_height="45dp"
android:textColor="#000000"
android:textSize="14sp"
android:inputType="textCapSentences"
android:hint="Name"
android:cursorVisible="false"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp" />
<EditText
android:id="@+id/edt_dateTime"
android:layout_width="match_parent"
android:layout_height="45dp"
android:textColor="#000000"
android:textSize="14sp"
android:cursorVisible="false"
android:inputType="textCapSentences"
android:hint="Date and Time"
android:layout_centerVertical="true"
android:layout_alignLeft="@+id/edt_name"
android:layout_alignStart="@+id/edt_name"
android:layout_below="@+id/edt_name"
android:layout_alignRight="@+id/edt_name"
android:layout_alignEnd="@+id/edt_name"
android:layout_marginTop="05dp" />
<EditText
android:id="@+id/edt_budget"
android:layout_width="match_parent"
android:layout_height="45dp"
android:textColor="#000000"
android:textSize="14sp"
android:cursorVisible="false"
android:hint="Budget"
android:layout_below="@+id/edt_dateTime"
android:layout_alignLeft="@+id/edt_dateTime"
android:layout_alignStart="@+id/edt_dateTime"
android:layout_alignRight="@+id/edt_dateTime"
android:layout_alignEnd="@+id/edt_dateTime"
android:layout_marginTop="05dp"
android:inputType="number" />
</RelativeLayout>
</LinearLayout>
这是我在实施drawable后得到的。
谢谢..
答案 0 :(得分:1)
它只是在应用主题定义中覆盖colorControlActivated,colorControlHighlight和colorControlNormal的值
df2.loc[id,'a']=2
或通过java
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/accent</item>
<item name="colorControlHighlight">@color/accent</item>
</style>
答案 1 :(得分:1)
通过更改“ colorAccent ”颜色,您也可以更改颜色或编辑文字底线和文字输入布局。
答案 2 :(得分:0)
在drawable文件夹中创建textfield_bg_drawable.xml
。并将其设置为EditText
中的背景资源。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="2dp"
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<selector>
<item
android:state_enabled="true"
android:state_focused="true">
<shape android:shape="rectangle">
<stroke
android:width="2dp"
android:color="@color/focused_line_color" />
</shape>
</item>
<item android:state_enabled="true">
<shape android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/normal_line_color" />
</shape>
</item>
</selector>
</item>
</layer-list>
答案 3 :(得分:0)
尝试使用以下代码正确地在我身边工作
.
editText 是 EditText
的ID答案 4 :(得分:0)
我认为这是因为你的第一个editText聚焦,当你的警报布局出现时。
在editText中添加此行
android:focusable="true"
答案 5 :(得分:0)
您需要在打开活动时从第一个edittext中禁用焦点,然后进行设置
android:requestFocus= "false"
。或者尝试以下
edittext.clearFocus();
。
然后它不会选择你的原色。
希望它有效!