【问题标题】:How to change the color of line at the bottom in EditText? [closed]如何更改 EditText 底部线条的颜色? [关闭]
【发布时间】:2015-12-31 05:33:31
【问题描述】:

我知道之前有人问过这个问题,但该解决方案不适用于我的情况。我想更改编辑文本底线颜色并尝试其他链接的解决方案将此行添加到styles.xml中的主题

<item name="colorControlNormal">#c5c5c5</item>

但不知何故,这在我的情况下不起作用。我尝试更改基本主题,但仍然不适合我。 我想对我的应用程序中的所有 editext 执行此操作,而不仅仅是一个。 还有其他方法吗??

【问题讨论】:

  • 你在使用 appcompact 活动吗??
  • 查看#Rohit Heera 的回答
  • 请发布您的布局和样式文件代码

标签: android android-edittext


【解决方案1】:

编辑 values 文件夹下的 Style.xml。

<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorControlNormal">#c5c5c5</item>
    <item name="colorControlActivated">#c5c5c5</item>
    <item name="colorControlHighlight">#c5c5c5</item>
</style>

【讨论】:

  • 我写了那行不通。为什么不仔细阅读问题
  • 您要添加 colorControlActivated 和 colorControlHighlight 吗?
  • 我不想要它们所以我没有添加它们
  • 我可以更改激活的颜色,但不知何故 Normal 不起作用
【解决方案2】:

在drawable文件夹中创建文件edittextborder.xml并写入

 ?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">

        <item><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
                <solid android:color="#ffffff" />


            </shape></item>

    </selector>

并将此文件设置为:

android:background="@drawable/edittextborder"

在编辑文本中。

【讨论】:

  • 我不想在选择编辑文本时使用它。我希望它默认为白色
  • 是的,默认情况下它使您的编辑文本不在选择中
  • 好吧,我试试看我告诉你
  • 试一试肯定能解决你的问题
  • 这是用形状中提供的颜色填充整个编辑文本
【解决方案3】:

这可以通过以下方式在 xml 中更改:

android:backgroundTint="@color/blue"

【讨论】:

  • tint 需要最低 android 版本 21
  • 你想在没有焦点的时候底线颜色相同吗?
  • 问题现已解决,但正如您所要求的那样。随着活动的打开,所有editext底线颜色都是黑色,并且在聚焦时变为白色。白色部分是理想的行为,但我想在不聚焦时改变颜色
【解决方案4】:

解决方法如下-

  1. 我想让你访问Android Holo Colors Generator
  2. 提供主题名称并选择您想要的颜色。
  3. 选择要更改颜色的组件。在你的情况下,它的 Edittext。
  4. 最后点击下载压缩包。
  5. 提取 Zip 并在您的项目中使用它。

【讨论】:

    【解决方案5】:

    试试这个,

    .xml 文件

    <?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"
        android:layout_margin="5dp"
        android:padding="5dp">
    
        <EditText
            android:id="@+id/text_to"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/customborder" //.xml file for edittext
            android:clickable="true"
            android:padding="5dip"
            android:text="Text_to"
            android:textColor="@color/black"
            android:textSize="@dimen/font_normal_size" />
    </LinearLayout>
    

    customborder.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <corners
            android:radius="2dp"
            android:topRightRadius="0dp"
            android:bottomRightRadius="0dp"
            android:bottomLeftRadius="0dp" />
        <stroke
            android:width="1dp"
            android:color="@android:color/white" />
    </shape>
    

    【讨论】:

    • 您的问题解决了吗? @Vivek Mishra
    • 不,这也会在所有边上创建完整的边框
    【解决方案6】:

    我更喜欢使用 9 个补丁图像来编辑文本自定义颜色。 Android 9 patch generator online

    这是一个很棒的在线工具生成器,适用于所有小部件。Android Holo colors

    为每个 dpi 文件夹生成和下载。并使用背景应用它。

    【讨论】:

      【解决方案7】:

      使用 Rohit 的回答和来自此链接 Android Bottom Stroke only 的 hack。我能够实现我想要的行为。这是drawable文件夹文件的代码。

      <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
      
          <item>
              <shape android:shape="rectangle" >
                  <solid android:color="@android:color/transparent" />
              </shape>
          </item>
      
          <item android:top="-2dp" android:right="-2dp" android:left="-2dp">
              <shape>
                  <solid android:color="@android:color/transparent" />
                  <stroke
      
                      android:width="1dp"
                      android:color="#FFFFFF" />
              </shape>
          </item>
      
      </layer-list>
      

      【讨论】:

        猜你喜欢
        • 2019-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-03
        • 1970-01-01
        • 2014-12-21
        相关资源
        最近更新 更多