使用kotlin语言设计界面,点击确定按钮,注册的信息将显示在界面下 方。(性别单选按钮组 RadioGroup、单选按钮 Radio,下拉框 Spinner)
时间: 2024-05-06 14:22:06 浏览: 100
以下是使用Kotlin语言设计的界面代码,包含性别单选按钮组(RadioGroup)、单选按钮(RadioButton)和下拉框(Spinner)。
```
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name:"
android:textSize="18sp"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"/>
<EditText
android:id="@+id/et_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/tv_name"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"/>
<TextView
android:id="@+id/tv_gender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gender:"
android:textSize="18sp"
android:layout_below="@id/tv_name"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"/>
<RadioGroup
android:id="@+id/rg_gender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_gender"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp">
<RadioButton
android:id="@+id/rb_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Male"
android:checked="true"/>
<RadioButton
android:id="@+id/rb_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Female"/>
</RadioGroup>
<TextView
android:id="@+id/tv_hobby"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hobby:"
android:textSize="18sp"
android:layout_below="@id/rg_gender"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"/>
<Spinner
android:id="@+id/sp_hobby"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_hobby"
android:layout_marginTop="10dp"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"/>
<Button
android:id="@+id/btn_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Register"
android:layout_below="@id/sp_hobby"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"/>
<TextView
android:id="@+id/tv_register_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btn_register"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"/>
</RelativeLayout>
```
在代码中,我们首先添加了一个TextView和一个EditText,用于输入用户名。然后添加了一个TextView和一个RadioGroup,用于选择用户的性别。RadioGroup中包含两个RadioButton,一个是男性,一个是女性。RadioButton中的checked属性用于指示默认选项。接着添加了一个TextView和一个Spinner,用于选择用户的爱好。最后添加了一个Button和一个TextView,用于注册并显示用户输入信息。
在Kotlin代码中,我们可以通过findViewById()方法来获取对应的控件,如下所示:
```
val name = findViewById<EditText>(R.id.et_name)
val gender = findViewById<RadioGroup>(R.id.rg_gender)
val hobby = findViewById<Spinner>(R.id.sp_hobby)
val registerBtn = findViewById<Button>(R.id.btn_register)
val registerInfo = findViewById<TextView>(R.id.tv_register_info)
```
我们可以在按钮的点击事件中获取用户输入信息,并将其显示在界面下方的TextView中,如下所示:
```
registerBtn.setOnClickListener {
val nameStr = name.text.toString()
val genderStr = if (gender.checkedRadioButtonId == R.id.rb_male) "Male" else "Female"
val hobbyStr = hobby.selectedItem.toString()
registerInfo.text = "Name: $nameStr\nGender: $genderStr\nHobby: $hobbyStr"
}
```
在代码中,我们通过checkedRadioButtonId属性来获取选中的RadioButton的id,然后根据id来判断用户选择的性别。最后将用户输入信息显示在TextView中。
阅读全文