android布局_EditText(一)

实现内容:

1.如何使用圆角输入框和按钮背景 
2.如何实现“手机号”、“密码”后面的竖线 
3.如何监听输入框的输入事件及删除按钮的动态显示隐藏

1.如何使用圆角输入框和按钮背景

安卓为开发者准备了shape这个xml标签,用于自定义一些形状。 
那么我就来定义一个白色的输入框背景。代码如下:

    <!-- 形状 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#ffffff" />
    <!-- 边框 -->
    <stroke
        android:width="1dip"
        android:color="#ffffff" />
    <!-- 内填充颜色 -->
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
    <!-- 圆角 -->
    <corners android:radius="6dp" />

</shape>

将其设置成任何View的background就可以了

android:background="@drawable/shape_wihte_frame"

2.如何实现“手机号”、“密码”后面的竖线

这个其实很简单,只需书写一个竖线即可,宽度为1dp或者1px(或你认为更合适的数值)。

 <View
                android:id="@+id/view1"
                android:layout_width="1dip"
                android:layout_height="fill_parent"
                android:layout_centerVertical="true"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:layout_toRightOf="@+id/textView1"
                android:background="#EEEFFF" />

3.如何监听输入框的输入事件及删除按钮的动态显示隐藏

思想很简单,就是监听EditText的输入事件,之后如果输入长度大于0就显示后面的删除按钮,如果=0就隐藏删除按键,点击删除按钮就清空输入框。在这里我写出了一个工具类方便大家调用。高内聚低耦合是我们共同的追求。

public class EditTextClearTools {
    public static void addclerListener(final EditText e1, final ImageView m1) {

        e1.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                // TODO Auto-generated method stub

            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                // 监听如果输入串长度大于0那么就显示clear按钮。
                String s1 = s + "";
                if (s.length() > 0) {
                    m1.setVisibility(View.VISIBLE);
                } else {
                    m1.setVisibility(View.INVISIBLE);
                }

            }
        });

        m1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                // 清空输入框
                e1.setText("");

            }
        });

    }

}

 

主程序代码

public class MainActivity extends Activity {
    EditText e1, e2;
    ImageView m1, m2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_user_login);
        init();
    }

    private void init() {
        // TODO Auto-generated method stub
        e1 = (EditText) findViewById(R.id.phonenumber);
        e2 = (EditText) findViewById(R.id.password);
        m1 = (ImageView) findViewById(R.id.del_phonenumber);
        m2 = (ImageView) findViewById(R.id.del_password);
        // 添加监听器
        EditTextClearTools.addclerListener(e1, m1);
        EditTextClearTools.addclerListener(e2, m2);

    }

}

代码连接http://download.csdn.net/detail/androidmsky/9274037

转载于http://blog.csdn.net/androidmsky/article/details/49870823

 

posted @ 2017-10-14 13:03  adcandy  阅读(700)  评论(0编辑  收藏  举报