安卓UI布局

在这里插入图片描述

先建立一个名为array.xml的XML文件,并存放至res/values文件夹里,文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--定义一个名为class_array的字符串数组-->
    <string-array name="class_array">
        <item>计科1701</item>
        <item>计科1702</item>
        <item>软件1701</item>
        <item>网络1701</item>
    </string-array>
</resources>

主布局

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    tools:context=".MainActivity">


    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="32dp"
        android:layout_marginEnd="108dp"
        android:layout_marginTop="36dp"
        android:text="使用线束布局内嵌线性布局"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="323dp"
        android:layout_height="131dp"
        android:layout_marginStart="44dp"
        android:layout_marginTop="60dp"
        android:orientation="vertical"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tv_title">

        <LinearLayout
            android:id="@+id/name_class"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="姓名:"
                android:textSize="14sp" />

            <EditText
                android:id="@+id/et_name"
                android:layout_width="60dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:hint="name"
                android:inputType="textPersonName"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/tv_class"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="班级:" />

            <!--下拉列表控件的列表项值存放在文件res/values/arrays.xml的名为class_array的字符串数组里-->
            <Spinner
                android:id="@+id/dropdown_class"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:entries="@array/class_array"/>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/hobby"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_hobby"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="爱好:" />

            <CheckBox
                android:id="@+id/checkBox"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="蓝球" />

            <CheckBox
                android:id="@+id/checkBox2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="音乐" />

            <CheckBox
                android:id="@+id/checkBox3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="旅游" />

            <CheckBox
                android:id="@+id/checkBox4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="游戏" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/grade"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_grade"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="等级:" />

            <RadioGroup
                android:id="@+id/grade_group"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0"
                android:orientation="horizontal">

                <RadioButton
                    android:id="@+id/radioButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="优" />

                <RadioButton
                    android:id="@+id/radioButton2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="良" />

                <RadioButton
                    android:id="@+id/radioButton3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="中" />

                <RadioButton
                    android:id="@+id/radioButton4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="及" />

                <RadioButton
                    android:id="@+id/radioButton5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="差" />
            </RadioGroup>
        </LinearLayout>

    </LinearLayout>

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="148dp"
        android:layout_marginTop="40dp"
        android:text="提交"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/linearLayout" />
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String sr = "你输入(选择)的结果是:";
                EditText et_name = findViewById(R.id.et_name);
                sr += et_name.getText() + ",";
                //下拉列表有唯一值,所有可能的取值存放在一个.xml文件里
                Spinner sp = findViewById(R.id.dropdown_class);
                sr += sp.getSelectedItem().toString() + ",";
                //复选的值有不确定性,需要逐个判断
                CheckBox cb1 = findViewById(R.id.checkBox);
                if (cb1.isChecked()) sr += cb1.getText() + ",";
                CheckBox cb2 = findViewById(R.id.checkBox2);
                if (cb2.isChecked()) sr += cb2.getText() + ",";
                CheckBox cb3 = findViewById(R.id.checkBox3);
                if (cb3.isChecked()) sr += cb3.getText() + ",";
                CheckBox cb4 = findViewById(R.id.checkBox4);
                if (cb4.isChecked()) sr += cb4.getText() + ",";
                //单选按钮组只能选择一个值
                RadioGroup rg = findViewById(R.id.grade_group);  //先找到组
                RadioButton rb = findViewById(rg.getCheckedRadioButtonId()); //从组里找选择的按钮
                sr += rb.getText();
                //输出选择(输入)结果
                Toast.makeText(getApplicationContext(), sr, Toast.LENGTH_LONG).show();
            }
        });
    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值