实验⼆布局管理器及简单控件的使⽤
⼀、实验要求和⽬的
1. 掌握Android常⽤的⼏种布局管理器;
2. 掌握TextView、EditText、Button等常见控件的使⽤⽅法;
3. 能够熟练应⽤各种布局管理器及控件进⾏界⾯设计。
⼆、实验环境
1、部署有Android Studio和Android SDK的主机;
2、建议在机房的HelloWorld例⼦上完成。
三、上机操作参考步骤
1、在layout⽂件夹的布局⽂件l中设计如下登陆界⾯(布局管理器不限,可⾃由嵌套组合,只要运⾏得到如下界⾯
即可)。
l
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android/apk/res/android"
xmlns:app="schemas.android/apk/res-auto"
xmlns:tools="schemas.android/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
&le.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/design_default_color_secondary"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="shiyan2"/>
</le.android.material.appbar.AppBarLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="#ffffff "
>
<RadioGroup
android:id="@+id/rg_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp"
android:layout_marginTop="45dp"
android:layout_marginLeft="100dp">
<RadioButton
android:text="密码登录"
android:id="@+id/rb_password"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginRight="30dp"
android:checked="true"
></RadioButton>
<RadioButton
android:text="验证码登录"
android:id="@+id/rb_verifycode"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
></RadioButton>
</RadioGroup>
<TextView
android:id="@+id/tv1"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_below="@+id/rg_login"
android:text="⼿机号码:"
android:textSize="18dp"
android:layout_marginTop="50dp"
android:layout_marginLeft="50dp"></TextView> <EditText
android:id="@+id/tv_number"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tv1"
android:layout_below="@+id/rg_login"
android:layout_marginTop="50dp"
android:layout_marginLeft="10dp"
android:textSize="18dp"
>
></EditText>控件的使用
<TextView
android:id="@+id/tv2"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:text="登陆密码:"
android:textSize="18dp"
android:layout_marginTop="50dp"
android:layout_marginLeft="50dp"></TextView> <EditText
android:id="@+id/et_password"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tv1"
android:layout_below="@+id/tv_number"
android:layout_marginTop="50dp"
android:layout_marginLeft="10dp"
android:textSize="18dp"
>
></EditText>
<CheckBox
android:id="@+id/ck_remember"
android:layout_below="@+id/tv2"
android:layout_marginTop="40dp"
android:layout_marginLeft="50dp"
android:layout_width="1000dp"
android:layout_height="wrap_content"
android:text="记住密码"
></CheckBox>
<Button
android:id="@+id/btn_forget"
android:layout_toRightOf="@+id/et_password" android:layout_below="@+id/tv_number"
android:layout_width="100dp"
android:layout_height="29dp"
android:layout_marginTop="50dp"
android:textSize="8dp"
android:text="忘记密码"></Button>
<Button
android:id="@+id/login"
android:layout_below="@+id/ck_remember" android:layout_marginLeft="150dp"
android:layout_width="150dp"
android:layout_height="40dp"
android:layout_marginTop="50dp"
android:textSize="18dp"
android:text="登录"></Button>
</RelativeLayout>
</LinearLayout>
ample.shiyan2;
import android.os.Bundle;
le.android.material.floatingactionbutton.FloatingActionButton;
le.android.material.snackbar.Snackbar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity {
private TextView tv_password;
private EditText et_password;
private Button btn_forget;
private RadioGroup rg_login;
private CheckBox ck_remember;
private RadioButton rb_verifycode;
@Override
protected void onCreate(Bundle savedInstanceState){
//加载布局
setContentView(R.layout.activity_main);
//获取控件
tv_password =findViewById(R.id.tv2);
et_password =findViewById(_password);
btn_forget =findViewById(R.id.btn_forget);
ck_remember =findViewById(R.id.ck_remember);
rg_login =findViewById(_login);
rb_verifycode =findViewById(R.id.rb_verifycode);
//单选按钮组绑定
rg_login.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group, int checkedId){
if(checkedId ==R.id.rb_password){
tv_password.setText("登录密码:");
et_password.setHint("请输⼊密码");
btn_forget.setText("忘记密码");
ck_remember.setVisibility(View.VISIBLE);
}else if(checkedId ==R.id.rb_verifycode){
tv_password.setText("验证码:");
et_password.setHint("请输⼊验证码");
btn_forget.setText("获取验证码");
ck_remember.setVisibility(View.INVISIBLE);
}
}
});
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论