2022-10-26学习内容
1.案例-找回密码-登录界面
1.1activity_login_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RadioGroup android:id="@+id/rg_login" android:layout_width="match_parent" android:layout_height="@dimen/item_layout_height" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_password" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:checked="true" android:text="@string/login_by_password" android:textSize="@dimen/common_font_size" android:textColor="@color/black"/> <RadioButton android:id="@+id/rb_verifycode" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:text="@string/login_by_verifycode" android:textSize="@dimen/common_font_size" android:textColor="@color/black"/> </RadioGroup> <LinearLayout android:layout_width="match_parent" android:layout_height="@dimen/item_layout_height" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:text="@string/phone_number" android:textColor="@color/black" /> <EditText android:id="@+id/et_phone" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:background="@drawable/editext_selector" android:hint="@string/input_phone_number" android:inputType="number" android:maxLength="11" android:textColor="@color/grey" android:textSize="@dimen/common_font_size"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="@dimen/item_layout_height" android:orientation="horizontal"> <TextView android:id="@+id/tv_password" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:text="@string/login_password" android:textColor="@color/black" /> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="5dp" android:layout_weight="1" android:background="@drawable/editext_selector" android:hint="@string/input_password" android:inputType="numberPassword" android:layout_marginBottom="5dp" android:maxLength="11" android:textColor="@color/grey" android:textSize="@dimen/common_font_size" /> <Button android:id="@+id/btn_forget" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentEnd="true" android:text="@string/forget_password" android:textColor="@color/black" android:textSize="@dimen/common_font_size" /> </RelativeLayout> </LinearLayout> <CheckBox android:id="@+id/ck_remember" android:layout_width="match_parent" android:layout_height="wrap_content" android:button="@drawable/checkbox_selector" android:text="@string/remember_password" android:textColor="@color/black" android:textSize="@dimen/common_font_size" /> <Button android:id="@+id/btn_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/login" android:textColor="@color/black" android:textSize="@dimen/button_font_size" /> </LinearLayout>
1.2LoginMainActivity.java
package com.example.chapter05; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.RadioGroup; import android.widget.TextView; public class LoginMainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener { private TextView tv_password; private EditText et_password; private Button btn_forget; private CheckBox ck_remember; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login_main); RadioGroup rg_login = findViewById(R.id.rg_login); tv_password = findViewById(R.id.tv_password); et_password = findViewById(R.id.et_password); btn_forget = findViewById(R.id.btn_forget); ck_remember = findViewById(R.id.ck_remember); // 给rg_login设置单选监听器 rg_login.setOnCheckedChangeListener(this); } @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { // 选择了密码登录 case R.id.rb_password: tv_password.setText(getString(R.string.login_password)); et_password.setHint(getString(R.string.input_password)); btn_forget.setText(getString(R.string.forget_password)); ck_remember.setVisibility(View.VISIBLE); break; // 选择了验证码登录 case R.id.rb_verifycode: tv_password.setText(getString(R.string.verifycode)); et_password.setHint(getString(R.string.input_verifycode)); btn_forget.setText(getString(R.string.get_verifycode)); ck_remember.setVisibility(View.GONE); break; } } }
1.3strings.xml
<resources> <string name="app_name">chapter05</string> <string name="login_by_password">密码登录</string> <string name="login_by_verifycode">验证码登录</string> <string name="phone_number">手机号码:</string> <string name="input_phone_number">请输入手机号码</string> <string name="login_password">登录密码:</string> <string name="input_password">请输入密码</string> <string name="forget_password">忘记密码</string> <string name="remember_password">记住密码</string> <string name="login">登      录</string> <string name="input_new_password">输入新密码:</string> <string name="input_new_password_hint">请输入新密码</string> <string name="confirm_new_password">确认新密码:</string> <string name="input_new_password_again">请再次输入新密码</string> <string name="verifycode">    验证码:</string> <string name="input_verifycode">请输入验证码</string> <string name="get_verifycode">获取验证码</string> <string name="done">确     定</string> </resources>
1.4效果: