美文网首页
【三】Android常用控件实践

【三】Android常用控件实践

作者: 晴天ccc | 来源:发表于2020-04-21 10:40 被阅读0次

【一】常用控件

1、文本类控件

  • TextView:负责展示文本,非编辑。
  • EditView:可编辑文本控件。

2、按钮类控件

  • Button:按钮
  • ImageButton:图片按钮
  • RadioButton和RadioGroup:单选按钮
  • CheckBox复选按钮

3、图片控件

  • ImageView:负责图片显示。

【二】简单应用

控件千千万,我们就通过一个简单的登陆交互逻辑来初步了解一下把。
我们在新建一个空白项目中,分别在acitvity_main.xmlMainActivity文件中复制一下代码,运行即可。

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();
                }
            }
        });
    }
}

相关文章

网友评论

      本文标题:【三】Android常用控件实践

      本文链接:https://www.haomeiwen.com/subject/rioyihtx.html