性别选择器
layout布局文件中简单的放个控件
<TextViewandroid:id="@+id/information_sex"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="保密"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toStartOf="@+id/imageView12"app:layout_constraintTop_toTopOf="parent" />
代码中获取这个控件
information_sex = findViewById(R.id.information_sex);
在代码中创建一个数组,提供可以选择的项
String[] sexArry = {"男","保密","女"};
使用
information_sex.setOnClickListener(v -> {//性别点击后弹出性别选择框AlertDialog.Builder builder3 = new AlertDialog.Builder(this);// 自定义对话框// checkedItem默认的选中 setSingleChoiceItems设置单选按钮组builder3.setSingleChoiceItems(sexArry, 1, (dialog, which) -> {// which是被选中的位置// showToast(which+"");information_sex.setText(sexArry[which]);dialog.dismiss();// 随便点击一个item消失对话框,不用点击确认取消});builder3.show();// 让弹出框显示});
效果图
日期选择器
layout布局文件中简单放个控件
<TextViewandroid:id="@+id/information_birthday"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="1998-12-31"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toStartOf="@+id/imageView13"app:layout_constraintTop_toTopOf="parent" />
代码中获取此控件
information_birthday = findViewById(R.id.information_birthday);
实现DatePickerDialog下的OnDateSetListener接口
public class InformationActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener
实现onDateSet方法,作为待会日期选择完要执行的事件
@Override//日期选择完事件public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {String desc = String.format("%d-%d-%d",year,month+1,dayOfMonth);information_birthday.setText(desc);//设置生日}
为information_birthday绑定点击事件,点击后弹出日期选择框
information_birthday.setOnClickListener(v -> {//生日点击弹出日期选择框Calendar calendar = Calendar.getInstance();//获取Calendar实例//创建日期选择器DatePickerDialog dialog = new DatePickerDialog(this,this,calendar.get(Calendar.YEAR),calendar.get(Calendar.MARCH),calendar.get(Calendar.DAY_OF_MONTH));dialog.show();//窗口弹出});
效果
这个显示的语言是根据你手机系统的语言来的