更改EditText的行颜色-Android

更改EditText的行颜色-Android,android,android-edittext,Android,Android Edittext,我可以更改EditText上的线条颜色吗。当激活时,它有一些绿色 当处于活动状态时,是否可以仅更改行的颜色,以及如何执行此操作…?您需要为编辑文本设置背景源 生成它 然后,您可以将生成的drawable作为背景应用于自定义的EditText,如android:background=“@drawable/my\u theme\u edit\u text”。或者你可以在你的应用程序主题中设置背景-你可以在该站点的.zip文件中找到示例 将以下内容添加到您的themes.xml行: <item

我可以更改
EditText
上的线条颜色吗。当激活时,它有一些绿色


当处于活动状态时,是否可以仅更改行的颜色,以及如何执行此操作…?

您需要为编辑文本设置背景源

  • 生成它
  • 然后,您可以将生成的drawable作为背景应用于自定义的
    EditText
    ,如
    android:background=“@drawable/my\u theme\u edit\u text”
    。或者你可以在你的应用程序主题中设置背景-你可以在该站点的.zip文件中找到示例

  • 将以下内容添加到您的themes.xml行:

    <item name="colorAccent">@color/black</item>
    
    @color/黑色
    
    这将设置
    colorControlActivated
    的默认颜色,该颜色用于为小部件着色

    editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
    
    
    
    在res/drawable/text.xml中使用以下代码

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:top="24.0dp">
       <shape >
          <solid android:color="#fefefe"  />
       </shape>
       </item>
    </layer-list>
    

    您可以将edittext的背景设置为一个矩形,并在左、右和顶部加上减号填充,以实现此目的

    下面是一个xml示例,用于为聚焦和非聚焦的edittext设置不同的线条颜色,只需将其设置为edittext的背景即可

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:top="-2dp"
            android:left="-2dp"
            android:right="-2dp"
            android:bottom="2dp">
            <selector >
                <item android:state_enabled="true"
                    android:state_focused="true">
                    <shape
                        android:shape="rectangle">
                        <stroke
                            android:width="2dp"
                            android:color="#6A9A3A"/>
                    </shape>
                </item>
                <item android:state_enabled="true">
                    <shape
                        android:shape="rectangle">
                        <stroke
                            android:width="1dp"
                            android:color="#000000"/>
                    </shape>
                </item>
            </selector>
        </item>
    </layer-list>
    
    
    
    您可以设置android:backgroundTint=“@color/blue”来更改Edittext底线的颜色

    您可以将
    android:background=“@color/black”用于api 21或更高版本(这将适用于lollypop设备或更高版本)对于以下版本,您应该使用编辑文本的样式。

    我也有同样的问题
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:top="-2dp"
            android:left="-2dp"
            android:right="-2dp"
            android:bottom="2dp">
            <selector >
                <item android:state_enabled="true"
                    android:state_focused="true">
                    <shape
                        android:shape="rectangle">
                        <stroke
                            android:width="2dp"
                            android:color="#6A9A3A"/>
                    </shape>
                </item>
                <item android:state_enabled="true">
                    <shape
                        android:shape="rectangle">
                        <stroke
                            android:width="1dp"
                            android:color="#000000"/>
                    </shape>
                </item>
            </selector>
        </item>
    </layer-list>
    
    通过如下更改背景色调的颜色来解决此问题-


    android:backgroundTint=“@color/light\u color”

    如果您对EditText使用TextInputLayouts,我们应该更改以下属性

    <item name="colorControlNormal">#c5c5c5</item>
    <item name="colorControlActivated">@color/your color</item>
    <item name="colorControlHighlight">@color/your color</item>
    
    #c5c5
    @颜色/你的颜色
    @颜色/你的颜色
    

    默认颜色为colorAccent。

    它可能嵌入视图的背景图像中。我如何更改它…?您可以使用此网站为EditText或其他android应用程序创建自定义主题component@Rami不要依赖工具为你做神奇的事情。了解主题是如何创建的。也许您应该修改.png文件以删除这些角点。还是用你自己的?