先看下布局 对应的一个输入框点击触发
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".tonglingribao.PersonalActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center_vertical"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_weight="3"
android:text="出生年月"
android:textSize="16sp" />
<EditText
android:id="@+id/personal_info_et_birthday"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="8"
android:gravity="right|center_vertical"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
下面主页面,开始撸代码
public class PersonalActivity extends AppCompatActivity {
EditText personal_info_et_birthday;
private int mYear, mMonth, mDay;
private String mBirthDay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_personal);
personal_info_et_birthday = findViewById(R.id.personal_info_et_birthday);
personal_info_et_birthday.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ShowBirthDialog();
}
});
}
private void ShowBirthDialog() {
Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
new DatePickerDialog(PersonalActivity.this, R.style.DatePickThemeDialog, mDateSetListener, mYear, mMonth, mDay)
.show();
}else new DatePickerDialog(PersonalActivity.this,mDateSetListener, mYear, mMonth, mDay)
.show();
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
if (view.isShown()) {
mYear = year;
String mm;
String dd;
if (monthOfYear < 9) {
mMonth = monthOfYear + 1;
mm = "0" + mMonth;
} else {
mMonth = monthOfYear + 1;
mm = String.valueOf(mMonth);
}
if (dayOfMonth < 10) {
mDay = dayOfMonth;
dd = "0" + mDay;
} else {
mDay = dayOfMonth;
dd = String.valueOf(mDay);
}
mMonth = monthOfYear;
mBirthDay = mYear + "-" + mm + "-" + dd;
Log.e("birthday",mBirthDay.toString());
personal_info_et_birthday.setText(mBirthDay);
/* submitAccountInfo();*/
}
}
};
}
下面就是对应rec文件下面创建一个values-v21文件夹在里面创建一个style 这个里面就是颜色主题 如图:
style里面的代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="DatePickThemeDialog" parent="android:Theme.Material.Light.Dialog">
<item name="android:colorAccent">@color/theme_color_day</item>
<item name="android:colorPrimary">@color/theme_color_day</item>
<item name="android:colorPrimaryDark">@color/theme_color_day</item>
</style>
</resources>