【一】常用控件
1、文本类控件
- TextView:负责展示文本,非编辑。
- EditView:可编辑文本控件。
2、按钮类控件
- Button:按钮
- ImageButton:图片按钮
- RadioButton和RadioGroup:单选按钮
- CheckBox复选按钮
3、图片控件
- ImageView:负责图片显示。
【二】简单应用
控件千千万,我们就通过一个简单的登陆交互逻辑来初步了解一下把。
我们在新建一个空白项目中,分别在acitvity_main.xml
和MainActivity
文件中复制一下代码,运行即可。
acitvity_main
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MissingDefaultResource">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="50dp"
android:id="@+id/userName">
<ImageButton
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginTop="10dp"
android:background="#000000"/>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/nameEditTest"
android:layout_marginLeft="10dp"
android:layout_marginTop="3dp"
android:hint="请输入用户名"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_below="@id/userName"
android:layout_marginTop="30dp"
android:id="@+id/pwd">
<ImageButton
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginTop="10dp"
android:background="#000000"/>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/pwdEditTest"
android:layout_marginLeft="10dp"
android:layout_marginTop="3dp"
android:hint="请输入密码"/>
</LinearLayout>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:id="@+id/rg"
android:layout_below="@id/pwd">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/man"
android:layout_marginLeft="40dp"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:checked="true"
android:text="男"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/woman"
android:layout_marginLeft="40dp"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:text="女"/>
</RadioGroup>
<Button
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="30dp"
android:layout_below="@id/rg"
android:id="@+id/loginBtn"
android:text="登录"
android:background="#FF0000"
android:textSize="19sp"
android:textColor="#ffffff"
/>
</RelativeLayout>
MainActivity
public class MainActivity extends AppCompatActivity {
private EditText userName;
private EditText passWord;
private RadioGroup radioGroup;
private Button loginBtn;
private String sex = "男";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取输入源
userName = (EditText)findViewById(R.id.nameEditTest);
passWord = (EditText)findViewById(R.id.pwdEditTest);
//radioGroup点击事件
radioGroup = (RadioGroup)findViewById(R.id.rg);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
sex = ((RadioButton)findViewById(checkedId)).getText().toString();
}
});
//登录点击事件
loginBtn = (Button)findViewById(R.id.loginBtn);
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userNameStr = userName.getText().toString();
String passWordStr = passWord.getText().toString();
if (userNameStr.isEmpty()){
Dialog alert = new AlertDialog.Builder(MainActivity.this).setTitle("提示").setMessage("用户名不可为空").create();
alert.show();
return;
}
if (passWordStr.isEmpty()){
Dialog alert = new AlertDialog.Builder(MainActivity.this).setTitle("提示").setMessage("密码不可为空").create();
alert.show();
return;
}
if (sex.equals("男")){
Toast.makeText(MainActivity.this, "失败!", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "成功!", Toast.LENGTH_SHORT).show();
}
}
});
}
}
网友评论