目录
- 前言:
- 效果展示:
- 核心代码:
前言:
登录页面设计(无跳转版本),不同的单选框,不同的界面效果,适合新手学习,简单的安卓布局
效果展示:
视频演示
核心代码:
活动页面:
package com.example.test05;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;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login_main);RadioGroup rb_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);rb_login.setOnCheckedChangeListener(this);}@Overridepublic 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;}}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><RadioGroupandroid:id="@+id/rg_login"android:layout_width="match_parent"android:layout_height="@dimen/item_layout_height"android:orientation="horizontal"><RadioButtonandroid:id="@+id/rb_password"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:text="@string/login_by_password"android:textColor="@color/black"android:textSize="@dimen/common_font_size"/><RadioButtonandroid:id="@+id/rb_verifycode"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:text="@string/login_by_verifycode"android:textColor="@color/black"android:textSize="@dimen/common_font_size" /></RadioGroup><LinearLayoutandroid:layout_width="match_parent"android:layout_height="@dimen/item_layout_height"><TextViewandroid:layout_width="wrap_content"android:layout_height="match_parent"android:gravity="center"android:text="@string/phone_number"android:textColor="@color/black"android:textSize="@dimen/common_font_size"/><EditTextandroid: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:hint="@string/input_phone_number"android:inputType="number"android:maxLength="11"android:textColor="@color/black"android:textColorHint="@color/grey"android:textSize="@dimen/common_font_size"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="@dimen/item_layout_height"><TextViewandroid:id="@+id/tv_password"android:layout_width="wrap_content"android:layout_height="match_parent"android:gravity="center"android:text="@string/login_by_password"android:textColor="@color/black"android:textSize="@dimen/common_font_size"/><RelativeLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"><EditTextandroid:id="@+id/et_password"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="5dp"android:layout_marginBottom="5dp"android:layout_weight="1"android:hint="@string/input_password"android:inputType="numberPassword"android:maxLength="11"android:textColor="@color/black"android:textColorHint="@color/grey"android:textSize="@dimen/common_font_size" /><Buttonandroid:id="@+id/btn_forget"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_alignParentEnd="true"android:text="@string/forget_password"android:layout_alignParentRight="true"android:textColor="@color/black"android:textColorHint="@color/grey"android:textSize="@dimen/common_font_size"/></RelativeLayout></LinearLayout><CheckBoxandroid:id="@+id/ck_remember"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/remember_password"android:textColor="@color/black"android:textSize="@dimen/common_font_size"/><Buttonandroid: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>
资源文件:
<resources><string name="app_name">Test05</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>