自定义包含DatePicker的AlertDialog
2016-03-10 14:14
176 查看
1.创建AlertDialog中需要加载的布局borndate_dialog.xml:
2.brondate_dialog_background:
4.Acitivity中的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/borndate_dialog_background"> <TextView android:id="@+id/textView_title_mydialog" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:text="请选择出生日期" android:textColor="@color/white" android:gravity="center" android:textSize="22sp" > </TextView> <View android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="15dp" android:background="@color/white"></View> <DatePicker android:id="@+id/DatePicker_student_born_date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_gravity="center" ></DatePicker> <View android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="15dp" android:background="@color/white"></View> <Button android:id="@+id/button_student_mydialog" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@+id/imageView_background_mydialog" android:layout_marginTop="1dp" android:layout_centerHorizontal="true" android:background="@drawable/selector_button_bg_setting" android:textSize="22sp" android:textColor="@color/white" android:gravity="center" android:text="确定" /> </LinearLayout>
2.brondate_dialog_background:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="5dp"></corners> <solid android:color="@color/select_day"></solid> </shape>3.selector_button_bg_setting:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/button_bg_default_pressed" /> <item android:state_focused="true" android:drawable="@drawable/button_bg_default_pressed" /> <item android:state_enabled="false" android:drawable="@drawable/button_bg_disabled" /> <item android:drawable="@drawable/button_bg_default_normal" /> </selector>
4.Acitivity中的代码:
tv_student_born_date.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog=new AlertDialog.Builder(StudentAttributeSettingActivity.this).create(); dialog.show(); dialog.getWindow().setContentView(R.layout.borndate_dialog); //dialog.getWindow().setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM);//设置Dialog现实的位置 datePicker= (DatePicker) dialog.getWindow().findViewById(R.id.DatePicker_student_born_date); Calendar calendar=Calendar.getInstance(); datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), null); dialog.getWindow().findViewById(R.id.button_student_mydialog).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { StringBuilder sb=new StringBuilder(); sb.append( String.format("%d-%02d-%02d", datePicker.getYear(), datePicker.getMonth()+1, datePicker.getDayOfMonth())); LogUtil.i("borndate_sb",sb.toString()+""); tv_student_born_date.setText(sb.toString()); dialog.dismiss(); } }); } });示例图片:
相关文章推荐
- 前端开发路线图(看看而已)
- 系统启动过程中出现:error: no such partition grub rescue
- c++第一次上机报告
- List的运用
- opencv IplImage转CvMat
- app打包
- 判断空值的全局方法
- WEB前端开发成长指南
- 深入入门正则表达式(java) - 命名捕获
- php 佛祖保佑 永无bug
- 10.7实战演练第一题
- 负值之美:负margin在页面布局中的应用
- Linux的用户和权限管理
- web.config中配置数据库连接字符串
- hibernate数据访问配置 10g ORacle
- SwipeRefreshLayout+AsyncHttpClient 实现异步Http请求的下拉刷新
- Gradle DSL method not found: 'runProguard()'
- 引用折叠和完美转发
- 编写java程序推荐一个好的定义log的方式——lombok
- RHEL6.8Alpha quota BUG