代码之家  ›  专栏  ›  技术社区  ›  Devrath

在textinputedittext中,如何显示行而不考虑焦点状态?

  •  0
  • Devrath  · 技术社区  · 6 年前

    发生什么事了 :当我点击 inputName 上面出现了一条线

    我在尝试什么 :显示行,无论焦点是否存在。

    代码:

    <android.support.design.widget.TextInputEditText
                android:id="@+id/inputName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="16sp"
                android:singleLine="true"
                android:textColor="@color/warm_grey"
                android:hint="Enter Mobile Number"
                android:layout_weight="1"/>
    

    图像:

    enter image description here

    我只想有两种颜色,分别用于重点州和非重点州

    2 回复  |  直到 6 年前
        1
  •  -1
  •   sushildlh    6 年前

    在您的 AppTheme 或者创建另一个主题并在您的编辑文本中使用。

    <item name="colorControlNormal">Color code for default</item>
    <item name="colorControlActivated">Color code for focused one</item>
    <item name="colorControlHighlight">Color code for focused one</item>
    

    可能重复 Changing EditText bottom line color with appcompat v7

    注:如果使用 AppCompat v22 支持库,您可以在编辑文本中指定主题,如下所示: android:theme="@style/Theme.App.Base . 这将确保样式不会影响布局中不希望更改的其他视图。

        2
  •  2
  •   AskNilesh    6 年前

    你需要使用 StateListDrawable 为此

    • StateListDrawable是一个在XML中定义的可绘制对象,它使用几个不同的图像来表示同一图形,具体取决于对象的状态。

    样例代码

    布局

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    
        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Hint Text">
    
            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/edt_bg"
                android:visibility="visible" />
    
        </com.google.android.material.textfield.TextInputLayout>
    
        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Hint Text">
    
            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/edt_bg"
                android:visibility="visible" />
    
        </com.google.android.material.textfield.TextInputLayout>
    
    </LinearLayout>
    

    @可牵引/EDT_-bg

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/edt_bg_selected" android:state_focused="true" />
        <item android:drawable="@drawable/edt_bg_normal" android:state_focused="false" />
    </selector>
    

    @可绘图/EDT_bg_已选择

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:bottom="1dp"
            android:left="-3dp"
            android:right="-3dp"
            android:top="-3dp">
            <shape android:shape="rectangle">
                <stroke
                    android:width="2dp"
                    android:color="#0fe4e4" />
    
                <solid android:color="#00ffffff" />
    
            </shape>
        </item>
    </layer-list>
    

    @可牵引/EDT_bg_正常

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:bottom="1dp"
            android:left="-3dp"
            android:right="-3dp"
            android:top="-3dp">
            <shape android:shape="rectangle">
                <stroke
                    android:width="2dp"
                    android:color="#000" />
    
                <solid android:color="#00ffffff" />
    
            </shape>
        </item>
    </layer-list>
    

    产量

    enter image description here

    注释

    使用 android:width="2dp" android:color="#000" 根据您的要求,在您的 TextInputEditText