【问题标题】:Implementing custom Edittext style in android在android中实现自定义Edittext样式
【发布时间】:2015-05-12 04:33:19
【问题描述】:

我通过在drawable res中添加xml在android中创建自定义编辑文本。如下

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Border -->
    <item>
        <shape>
            <solid android:color="@color/gray"></solid>
        </shape>
    </item>
    <!-- Body -->
    <item 
          android:bottom="1dp"
          android:right="0dp"
          android:left="0dp"
          android:top="0dp">
        <shape>
            <solid android:color="@color/white"></solid>
        </shape> 
    </item>
</layer-list>


 <EditText
                android:id="@+id/edt_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/edittext"
                android:digits="1234567890"
                android:ellipsize="end"
                android:focusableInTouchMode="true"
                android:inputType="numberPassword"
                android:singleLine="true"
                android:textColor="@color/dark" />

所以我只想将edittext 作为一行。 但是当我实现这个时,edittext的上边界几秒钟是可见的,然后它就消失了...... 我真的不明白为什么会这样......

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    创建 res/drawable/custom_edittext_style.xml

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/apptheme_textfield_default_holo_light" />
    <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/apptheme_textfield_disabled_holo_light" />
    <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/apptheme_textfield_activated_holo_light" />
    <item android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/apptheme_textfield_focused_holo_light" />
    <item android:state_enabled="true" android:drawable="@drawable/apptheme_textfield_default_holo_light" />
    <item android:state_focused="true" android:drawable="@drawable/apptheme_textfield_disabled_focused_holo_light" />
    <item android:drawable="@drawable/apptheme_textfield_disabled_holo_light" />
    

    并将所有需要的drawable文件添加到drawable文件夹中。

     <EditText
                android:id="@+id/edt_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/custom_edittext_style"
                android:digits="1234567890"
                android:ellipsize="end"
                android:focusableInTouchMode="true"
                android:inputType="numberPassword"
                android:singleLine="true"
                android:textColor="@color/dark" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 2016-10-28
      • 2014-08-23
      相关资源
      最近更新 更多