use*_*678 5 android android-layout android-imageview
我正在尝试更改EditText的底线颜色,但它显示默认的蓝线颜色.我无法理解我哪里出错了?
<EditText
android:id="@+id/searchtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="#000000"
android:layout_alignParentTop="true"
android:maxLines="1"
android:singleLine="true"
android:layout_toLeftOf="@+id/usericonlayout"
android:padding="7dp"
android:layout_marginTop="10dp"
android:hint="Search for all GIFs"
android:textColorHint="#A0A0A0"
android:shadowColor="@color/border_gray"
android:theme="@style/EditTextStyle"/>
Run Code Online (Sandbox Code Playgroud)
styles.xml
<style name="AppBaseTheme" parent="android:Theme.Light">
<item name="colorAccent">@color/border_gray</item>
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="colorAccent">@color/border_gray</item>
<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>
Run Code Online (Sandbox Code Playgroud)
我也尝试过 -
edittext.getBackground().setColorFilter(getResources().getColor(R.color.border_gray), PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)
但没有奏效
我想你正试图在你的应用程序中实现材料设计.首先,res文件夹中应该只有两个值文件夹.1.值(对于版本<21)2.值-v21
styles.xml版本<21
<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>
Run Code Online (Sandbox Code Playgroud)
对于v21
<style name="AppBaseTheme" parent="@android:style/Theme.Material.Light">
.....
// Your style here
</style>
Run Code Online (Sandbox Code Playgroud)
如果您使用的 Api lvl >= 21,则必须将“android:”命名空间放在列出的每个属性前面。
如果您使用 AppCompat,则必须将主题的父级更改为:
@style/Theme.AppCompat.Light
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19723 次 |
| 最近记录: |