【问题标题】:Change Line Color of EditText - Android更改 EditText 的线条颜色 - Android
【发布时间】:2014-11-26 14:24:37
【问题描述】:

我可以更改EditText 上的线条颜色吗?当处于活动状态时,它有一些绿色。

是否可以在活动时仅更改线条的颜色,我该怎么做...?

【问题讨论】:

  • 有可能,它嵌入在视图的背景图片中。
  • 我怎样才能改变它...?
  • 您可以使用此站点android-holo-colors.com 为您的EditText 或其他android 组件创建自定义主题
  • @Rami 不要依赖工具为你做神奇的事情。了解如何创建主题。

标签: android android-edittext


【解决方案1】:

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

  1. 生成它http://android-holo-colors.com/
  2. 您可以将生成的可绘制对象应用为背景,例如 android:background="@drawable/my_theme_edit_text" 用于自定义 EditText。或者您可以在您的应用主题中设置该背景 - 您可以在该站点的 .zip 文件中找到示例

【讨论】:

  • 也许您应该修改 .png 文件以删除那些角落。或者只是用你自己的替换它们?
【解决方案2】:

你在这里:

editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);

【讨论】:

    【解决方案3】:

    您可以将edittext的背景设置为在左、右和顶部带有减号填充的矩形来实现此目的。

    这里是为焦点编辑文本和非焦点编辑文本设置不同线条颜色的xml示例,只需将其设置为编辑文本的背景即可。

    <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>
    

    【讨论】:

      【解决方案4】:

      将这一行添加到您的 themes.xml

      <item name="colorAccent">@color/black</item>
      

      这将设置colorControlActivated 的默认颜色,用于为小部件着色

      【讨论】:

        【解决方案5】:
        <EditText
                    android:id="@+id/editText1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center_vertical"
                    android:background="@drawable/text"
                    android:ems="10"
                    android:textColorHint="#fefefe"
                    android:hint="@string/text1"
                    android:textColor="#fefefe"
                    android:inputType="textEmailAddress"
                    android:layout_marginTop="10dp"
        />
        

        在你的 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>
        

        【讨论】:

          【解决方案6】:

          你可以设置android:backgroundTint="@color/blue"来改变Edittext底线的颜色

          【讨论】:

            【解决方案7】:

            我遇到了同样的问题 通过改变 backgroundTint 的颜色来解决它,如下 -

            android:backgroundTint="@color/light_color"

            【讨论】:

              【解决方案8】:

              您可以使用android:background = "@color/black" for the api 21或以上21(这将适用于棒棒糖设备或以上版本),对于以下版本您应该使用样式编辑文本。

              【讨论】:

                【解决方案9】:

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

                <item name="colorControlNormal">#c5c5c5</item>
                <item name="colorControlActivated">@color/your color</item>
                <item name="colorControlHighlight">@color/your color</item>
                

                默认颜色是colorAccent。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-07-23
                  • 1970-01-01
                  • 2014-11-08
                  • 1970-01-01
                  • 2014-10-07
                  相关资源
                  最近更新 更多