如何更改EditText底部的线条颜色?

时间:2015-12-31 05:33:32

标签: android android-edittext

我知道之前已经问过这个问题但是这个解决方案在我的情况下不起作用。我想更改编辑文本底线颜色,并尝试从其他链接的解决方案将此行添加到styles.xml

中的主题
<item name="colorControlNormal">#c5c5c5</item>

但不知怎的,这在我的情况下不起作用。我尝试改变基本主题,但仍然不适合我。 我想在我的应用程序中使用所有editext,而不仅仅是一个。 还有其他办法吗?

7 个答案:

答案 0 :(得分:2)

在值文件夹下编辑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>

答案 1 :(得分:1)

在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"
中的

答案 2 :(得分:1)

可以使用以下命令在xml中更改:

android:backgroundTint="@color/blue"

答案 3 :(得分:0)

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

这是适用于所有小部件的强大的在线工具生成器。Android Holo colors

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

答案 4 :(得分:0)

解决方案如下 -

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

答案 5 :(得分:0)

试试这个,

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

答案 6 :(得分:0)

使用Rohit的答案以及此链接Android Bottom Stroke only提供的黑客攻击。我能够实现我想要的行为。这是可绘制文件夹文件的代码。

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