Android studio :实现密码登录界面和验证码登录界面的切换(不用新建xml页面)
一、了解Xml设置隐藏属性
android:visibility=\” \”
Visible:正常显示
Invisible:保留位置
Gone:完全隐藏
二、实现图示
三、代码实现
Xml主要代码如下:
<?xml version=\”1.0\” encoding=\”utf-8\”?>
<LinearLayoutandroid:id=\"@+id/ll_login_sms\"android:background=\"@drawable/bg_laout_borber\"android:layout_width=\"match_parent\"android:layout_height=\"wrap_content\"android:orientation=\"horizontal\"><TextViewandroid:textColor=\"#212121\"android:layout_width=\"70dp\"android:layout_height=\"wrap_content\"android:gravity=\"center\"android:text=\"验证码:\"/><EditTextandroid:hint=\"请输入验证码\"android:layout_width=\"0dp\"android:layout_height=\"wrap_content\"android:layout_weight=\"1\" /><TextViewandroid:textColor=\"#1C86EE\"android:layout_width=\"wrap_content\"android:layout_height=\"wrap_content\"android:text=\"获取验证码\"/></LinearLayout>
<LinearLayoutandroid:id=\"@+id/ll_login_password\"android:layout_width=\"match_parent\"android:layout_height=\"wrap_content\"android:background=\"@drawable/bg_laout_borber\"android:orientation=\"horizontal\"android:visibility=\"gone\"><TextViewandroid:textColor=\"#212121\"android:layout_width=\"70dp\"android:layout_height=\"wrap_content\"android:gravity=\"center\"android:text=\"密 码:\"/><EditTextandroid:inputType=\"textPassword\"android:hint=\"请输入密码\"android:layout_width=\"match_parent\"android:layout_height=\"wrap_content\"/></LinearLayout>
Java代码的实现:
public class LoginActivity extends AppCompatActivity {
//控件private Button btnSubmit;private LinearLayout llSms;private LinearLayout llPassword;private TextView tvSms;private TextView tvPassword;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate( savedInstanceState );//设置布局setContentView( R.layout.activity_login );//获取控件 Ctrl+alt+FbtnSubmit = findViewById( R.id.btn_login_submit );llSms = findViewById( R.id.ll_login_sms );llPassword = findViewById( R.id.ll_login_password );tvSms = findViewById( R.id.tv_login_sms );tvPassword = findViewById( R.id.tv_login_password );//设置控件的事件setViewListener();}/*** 设置控件的事件*/private void setViewListener() {//文本—按钮 密码的登录 点击事件tvPassword.setOnClickListener( new View.OnClickListener() {@Overridepublic void onClick(View v) {//显示密码登录输入框llPassword.setVisibility( View.VISIBLE );//显示文本—按钮 短信验证码登录tvSms.setVisibility( View.VISIBLE );//隐藏短信验证码输入框llSms.setVisibility( View.GONE );//隐藏文本—按钮 密码的登录tvPassword.setVisibility( View.GONE );}} );//文本—按钮 短信验证码登录 点击事件tvSms.setOnClickListener( new View.OnClickListener() {@Overridepublic void onClick(View v) {llPassword.setVisibility( View.GONE );tvSms.setVisibility( View.GONE );llSms.setVisibility( View.VISIBLE );tvPassword.setVisibility( View.VISIBLE );}} );}
}
延伸:实现两个xml界面跳转的方法
java代码
tvRegister.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);
startActivity( intent );**
}
} );