02-android studio实现下拉列表+单选框+年月日功能

一、下拉列表功能

1.效果图

2.实现过程

1)添加组件

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:padding="10dip">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="身份"
                android:textColor="#FF000000"
                android:textSize="24sp" />
            <Spinner
                android:layout_width="wrap_content"
                android:layout_height="30dp"
                android:overlapAnchor="false"
                android:spinnerMode="dropdown"
                android:textSize="22sp"
                android:paddingTop="10dip"
                android:id="@+id/userRole"/>
        </LinearLayout>

2)添加适配器

        val userRole:Spinner = findViewById(R.id.userRole)
        val roleData = listOf<String>("患者","咨询师","管理员")
        userRole.setSelection(1)
        val roleAdapter = ArrayAdapter(this,android.R.layout.simple_list_item_1,roleData)
        userRole.adapter=roleAdapter

3.注意

1)遮盖组件

如果在xml中没有定义android:overlapAnchor="false" android:spinnerMode="dropdown"这两行代码,将会出现组件被覆盖的情况

2)去掉顶部导航栏

supportActionBar?.hide()

二、单选框功能

1.效果图

2.实现过程

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:padding="15dip">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="性别"
                android:paddingTop="10dip"
                android:paddingRight="10dip"
                android:gravity="center"
                android:textColor="#FF000000"
                android:textSize="24sp" />
            <RadioGroup
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dip"
                android:id="@+id/sex"
                android:orientation="horizontal">
                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="男"
                    android:textSize="24sp"
                    android:id="@+id/sexBoy"
                    android:textColor="#000"/>
                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="女"
                    android:textSize="24sp"
                    android:id="@+id/sexGirl"
                    android:textColor="#000"/>
            </RadioGroup>
        </LinearLayout>

三、选择年月日功能

1.效果图

2.实现过程

1)定义组件

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:padding="15dip">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="出生日期"
                android:textColor="#FF000000"
                android:paddingRight="10dip"
                android:textSize="24sp" />
            <EditText
                android:id="@+id/tvDateTime"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:paddingLeft="15dip"
                android:hint="点击选择时间"
                android:clickable="true"
                android:focusable="true"
                android:textSize="22sp" />
        </LinearLayout>

2)显示时间

class AddPatient : AppCompatActivity() {

    private lateinit var tvDateTime: EditText

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_addpatient)

        tvDateTime = findViewById(R.id.tvDateTime)
        tvDateTime.setOnClickListener {
            showDatePicker()
        }
    }

    private fun showDatePicker() {
        val calendar = Calendar.getInstance()
        val year = calendar.get(Calendar.YEAR)
        val month = calendar.get(Calendar.MONTH)
        val day = calendar.get(Calendar.DAY_OF_MONTH)

        val datePickerListener = DatePickerDialog.OnDateSetListener { _, selectedYear, selectedMonth, selectedDay ->
            // 使用SimpleDateFormat来格式化日期
            val dateFormatter = SimpleDateFormat("yyyy年MM月dd日", Locale.getDefault())
            val selectedDate = dateFormatter.format(Date(selectedYear - 1900, selectedMonth, selectedDay))
            tvDateTime.setText(selectedDate)
        }

        DatePickerDialog(
            this,
            datePickerListener,
            year,
            month,
            day
        ).show()
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值