Android :实现qq登录界面的,登录按钮有密码显示绿色,无密码显示灰色

如图所示

在这里插入图片描述
在这里插入图片描述

其实很简单,EditView有监听写入前写入后,我自己还傻不拉几的自己写监听,笑死

et_password = (EditText)findViewById(R.id.et_password);
btn_login = (LinearLayout) findViewById(R.id.btn_login);
   et_password.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            //写入前判断是否有文字
                if(et_password.getText().toString().equals("")){
                    btn_login.setBackground(getResources().getDrawable(R.drawable.round_corner_default));
                }else {
                    btn_login.setBackground(getResources().getDrawable(R.drawable.round_corner));
                }
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {
              //写入后判断是否有文字
                if(et_password.getText().toString().equals("")){
                    btn_login.setBackground(getResources().getDrawable(R.drawable.round_corner_default));
                }else {
                    btn_login.setBackground(getResources().getDrawable(R.drawable.round_corner));
                }
            }
        });

登录按钮的布局,是上层是一个图片,下层一个布局,我设置的给布局换背景

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="60dp"
        android:layout_marginRight="30dp"
        android:orientation="vertical">
        <LinearLayout
            android:id="@+id/btn_login"
            android:layout_gravity="center"
            android:gravity="center"
            android:background="@drawable/round_corner"
            android:layout_width="60dp"
            android:layout_height="60dp">
            <ImageView
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:src="@drawable/ic_next_login"
                android:textColor="@color/white"></ImageView>
        </LinearLayout>
    </LinearLayout>

背景文件drawable/round_corner_default.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="40dp"/>
    <solid android:color="#cdcdcd" />
</shape>

背景文件drawable/round_corner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="40dp"/>
    <solid android:color="#5ac9b4" />
</shape>

猜你喜欢

转载自blog.csdn.net/title71/article/details/114117843