EditText背景基线颜色根据其在Android中的焦点变化

pnwntuvh  于 2023-11-15  发布在  Android
关注(0)|答案(6)|浏览(159)

我需要设计与基线显示在下面的图像编辑文本,它将被更改为一些其他颜色时,它收到的重点。!
x1c 0d1x的数据
我使用以下。

<EditText    
    android:id="@+id/mobilenumber" 
    android:drawableLeft="@drawable/mobile"
    android:drawablePadding="15dp" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="number"
    android:background="@drawable/edt_bg"
    android:singleLine="true"
    android:textColorHint="#FFFFFF"
    android:hint="@string/mobilenumber"
    android:layout_marginTop="20dp"
    android:layout_gravity="center"
    android:padding="5dp"
    android:imeOptions="actionNext"
    android:maxLength="10"
    android:textColor="#ffffff"
    android:textCursorDrawable="@null"

    />

字符串
所以,请指导我如何处理这件事。

dohp0rv5

dohp0rv51#

您可以为EditText添加主题

<style name="EditTextTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorControlNormal">@color/primary</item>
    <item name="colorControlActivated">@color/primary</item>
    <item name="colorControlHighlight">@color/primary</item>
</style>

字符串
您可以在EditText中使用,

<EditText
    android:id="@+id/edtCode"
    android:layout_width="match_parent"
    android:layout_height="40dp"
   .......................
    android:theme="@style/EditTextTheme">

</EditText>

2sbarzqh

2sbarzqh2#

在editText样式中使用此

<item name="backgroundTint">@color/focus_tint_list</item>

字符串
focus_tint_list.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_focused="true" android:color="?attr/colorAccent"/>

   <item android:state_focused="false" android:color="#999999"/>

</selector>

i34xakig

i34xakig3#

尝试Holo颜色生成器自定义颜色。
Android Holo Colors
你可以创建一个背景,并将其设置为EditText的背景。

res/drawable/edit_text.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_window_focused="false"
        android:state_enabled="true"
        android:drawable="@drawable/textfield_default" />

    <item
        android:state_window_focused="false"
        android:state_enabled="false"
        android:drawable="@drawable/textfield_disabled" />

    <item
        android:state_pressed="true"
        android:drawable="@drawable/textfield_pressed" />

    <item
        android:state_enabled="true"
        android:state_focused="true"
        android:drawable="@drawable/textfield_selected" />

    <item
        android:state_enabled="true"
        android:drawable="@drawable/textfield_default" />

    <item
        android:state_focused="true"
        android:drawable="@drawable/textfield_disabled_selected" />

    <item
        android:drawable="@drawable/textfield_disabled" />

</selector>

字符串

布局:

<EditText    
    android:id="@+id/mobilenumber"
    ....
    android:background="@drawable/edit_text" />

gudnpqoy

gudnpqoy4#

我需要同样的东西,我用下面的方法解决了它:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_focused="true" android:state_window_focused="true">
   <shape>
     <stroke android:color="@color/blue_500" android:width="2dp" />
     <corners android:radius="45dp"/>
   </shape>
</item>
<item android:state_focused="false" android:state_window_focused="false">
  <shape>
    <stroke android:color="@color/grey_600" android:width="2dp"/>
    <corners android:radius="45dp"/>
  </shape>
</item>
</selector>

字符串

vshtjzan

vshtjzan5#

要在EditText处于焦点状态时更改它的基线,您可以简单地转到项目中的colors.xml文件并更改“colorAccent”值。

res/values/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
...
<color name="colorAccent">#DESIRED_COLOR</color>
</resources>`

字符串

vsdwdz23

vsdwdz236#

你可以按照以下步骤来做:
1-创建一个color目录到res目录2- Create XML selector文件具有如下颜色焦点状态:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:color="#535353"/>
    <item android:state_focused="false" android:color="#CCCCCC"/>
</selector>

字符串
3-使用此代码:

val colorStateList = ContextCompat.getColorStateList(context, R.color.focus_tint_list)
ViewCompat.setBackgroundTintList(editText, colorStateList)

相关问题