《Android开发卷——自定义日期选择器(二)》

(小米手机) (中兴手机)

在上一篇中,我介绍了一般公司都会自定义时间日期选择器,并结合自己所做的项目给大家参考。

工作实录之《Android开发卷——自定义日期选择器(一)》链接:http://blog.csdn.net/chillax_li/article/details/19047913

这里,我在之前的基础上做了修改,弄成对话框形式,更神似于Google提供的日期选择器API,项目部署跟上一篇是一样的。

自定义对话框类

public class TestDialog extends Dialog{

	private Context context;
	private int style;
	
	public TestDialog(Context context) {
		super(context);
		this.context = context;
	}
	
	public TestDialog(Context context,int style) {
		super(context);
		this.context = context;
		this.style = style;
	}
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.dialog);
		
		NumberPicker np1 = (NumberPicker) findViewById(R.id.np1);
    	NumberPicker np2 = (NumberPicker) findViewById(R.id.np2);
    	NumberPicker np3 = (NumberPicker) findViewById(R.id.np3);
    	
    	np1.setMaxValue(2999);
    	np1.setMinValue(1000);
    	np1.setValue(1999);
    	
    	np2.setMaxValue(12);
    	np2.setMinValue(1);
    	
    	np3.setMaxValue(31);
    	np3.setMinValue(1);
	}

	@Override
	public void show() {
		// TODO Auto-generated method stub
		super.show();
	}
}
自定义对话框布局

<LinearLayout 
	    android:id="@+id/dialog_content"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:orientation="horizontal"
	    android:gravity="center_horizontal"
	    android:paddingLeft="3dp" >
	    
		<NumberPicker 
		android:id="@+id/np1"
	    android:layout_width="80dp"
	    android:layout_height="wrap_content"/>
		<TextView 
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center_vertical|center_horizontal"
	    android:textSize="20dp"
	    android:text="年"/>
		<NumberPicker 
		android:id="@+id/np2"
	    android:layout_width="80dp"
	    android:layout_height="wrap_content"/>
		<TextView 
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center_vertical|center_horizontal"
	    android:textSize="20dp"
	    android:text="月"/>
		<NumberPicker 
		android:id="@+id/np3"
	    android:layout_width="80dp"
	    android:layout_height="wrap_content"/>
		<TextView 
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center_vertical|center_horizontal"
	    android:textSize="20dp"
	    android:text="日"/>
	</LinearLayout>
	
	<LinearLayout
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:orientation="horizontal"
	    android:gravity="center_horizontal"
	    android:padding="5dp" >
		<TextView
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_weight="0.1" />
	    <Button
	    android:id="@+id/dialog_confirm"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_weight="0.2"
	    android:background="#00000000"
	    android:text="确定" />
	    <TextView
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_weight="0.4" />
	    <Button
	    android:id="@+id/dialog_back"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_weight="0.2"
	    android:background="#00000000"
	    android:text="取消" />
	    <TextView
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_weight="0.1" />
	</LinearLayout>

当然,项目中也还有存在不足,两个按钮的单击事件,本人在这里偷懒了,没有添加上去。大家可以自己添加上去,完善它。

详见《Android开发卷——自定义日期选择器(三)》:http://blog.csdn.net/chillax_li/article/details/19212895

下面链出项目源码地址:http://download.csdn.net/detail/chillax_li/6920631


尊重原创,转载请注明出处:http://blog.csdn.net/chillax_li/article/details/19172899

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值