当前位置: 首页 > 知识库问答 >
问题:

当包装到TextInputLayout中时,更改EditText底线的厚度

严修谨
2023-03-14

这是我的密码

XML标记

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextLabel">

    <EditText
        android:id="@+id/etContactName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Contact Name"/>

</android.support.design.widget.TextInputLayout>

风格

<style name="TextLabel" parent="TextAppearance.AppCompat">
    <item name="android:textColorHint">@color/hintColor</item>
    <item name="colorAccent">@color/primaryColor</item>
    <item name="colorControlNormal">@color/hintColor</item>
    <item name="colorControlActivated">@color/primaryColor</item>
</style>

(聚焦视图)

现在我的问题

  1. 我希望底线更细一些。我应该在哪里换呢

有谁能告诉我解决问题的正确方法吗。任何人都需要更多的信息来回答这个问题。

提前感谢。

共有2个答案

林烨烨
2023-03-14

编辑文本底色

android:backgroundTint="@color/yourcolor"

要禁用拼写检查器,请在Edittext xml中添加代码

android:inputType="textNoSuggestions"

在项目中的可绘制文件夹中创建一个名为“EditTextStyle.xml”的XML文件,并编写以下代码:

<?xml version="1.0" encoding="utf-8" ?>

   <shape xmlns:android="http://schemas.android.com/apk/r..."
   android:thickness="0dp"
   android:shape="rectangle">
  <stroke android:width="3dp"
     android:color="#4799E8"/>
  <corners android:radius="5dp" />
  <gradient
  android:startColor="#C8C8C8"
  android:endColor="#FFFFFF"
  android:type="linear"
  android:angle="270"/>
  </shape>

现在将以下属性添加到EditText:

       <EditText    

        android:background="@drawable/EditTextStyle"/>
庞阳波
2023-03-14

我已经使用自定义xml绘图解决了我的问题。也许有更好的办法,但我找不到。下面是我的绘图,我用它作为我的文本框的背景

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <layer-list >
            <item
                android:bottom="1dp"
                android:left="-2dp"
                android:right="-2dp"
                android:top="-2dp">
                <shape android:shape="rectangle" >
                    <stroke
                        android:width="0.5dp"
                        android:color="@color/primaryColor" />

                    <solid android:color="#00FFFFFF" />

                    <padding android:left="3dp"
                        android:right="3dp"
                        android:top="3dp"
                        android:bottom="3dp" />
                </shape>
            </item>

        </layer-list>
    </item>
    <item android:state_focused="true">
        <layer-list >
            <item
                android:bottom="1dp"
                android:left="-2dp"
                android:right="-2dp"
                android:top="-2dp">
                <shape android:shape="rectangle" >
                    <stroke
                        android:width="0.5dp"
                        android:color="@color/primaryColor" />

                    <solid android:color="#00FFFFFF" />

                    <padding android:left="3dp"
                        android:right="3dp"
                        android:top="3dp"
                        android:bottom="3dp" />
                </shape>
            </item>

        </layer-list>
    </item>
    <item>
        <layer-list >
            <item
                android:bottom="1dp"
                android:left="-2dp"
                android:right="-2dp"
                android:top="-2dp">
                <shape android:shape="rectangle" >
                    <stroke
                        android:width="0.5dp"
                        android:color="#BCBCBC" />

                    <solid android:color="#00FFFFFF" />

                    <padding android:left="3dp"
                        android:right="3dp"
                        android:top="3dp"
                        android:bottom="3dp" />
                </shape>
            </item>

        </layer-list>
    </item>

</selector>
 类似资料:
  • 我尝试了这个解决方案,比如在主主题中添加属性,但无法改变TextInputLayout中底线的颜色,默认情况下它采用状态栏的颜色(它可能被称为primarydark),也不想在TextInputLayout下面出现错误文本时改变底线的颜色,意思是当错误发生时改变红色,当它得到焦点时应该是那个颜色

  • 我正在使用设计库中新的。我能够让它显示和改变浮动标签的颜色。不幸的是,实际的提示现在总是白色的。 我尝试过用XML、样式和编程方式更改hintColor,还尝试过使用android。支持v7。小装置。AppCompatiEditText但是提示始终显示白色。 这是我的和 下面是我用于的样式(我尝试将属性设置为黑色,但没有为我做任何事情):

  • 我正在使用android设计库的。但无法自定义内部的提示颜色、标签颜色和下划线颜色。请帮忙。

  • 我正在使用AppCompatV7来获得Android5和更低版本的外观一致性。它工作得相当好。但是,我不知道如何更改编辑文本的底线颜色和重音颜色。有可能吗? 我试图定义一个自定义的(参见下面),但我只成功地更改了整个背景颜色或文本颜色,而没有更改底线或强调色。是否有要使用的特定属性值?我必须通过属性使用自定义的可绘制图像吗?难道不能指定一种六色颜色吗? 根据android API 21的消息来源,

  • 我遇到过这个奇怪的问题,在开始时,字段的颜色更改为,就像在出现时一样。而且,这种情况并不是每次都发生,只是在某些情况下才会出现。如何修复此bug?任何帮助都很感激。请参阅图片更多。这是代码 以下是样式:

  • 问题内容: 我正在使用appcompat v7在Android 5及更低版本上获得一致的外观。效果不错。但是我不知道如何更改EditTexts的底线颜色和强调颜色。可能吗? 我试图定义一个自定义项(请参见下文),但是我仅成功更改了完整的背景色或文本色,但没有更改底线或强调色。是否有要使用的特定属性值?我必须通过android:background属性使用自定义可绘制图像吗?不能指定六种颜色吗? 根