【文件属性】:
文件名称:Android 日期控件只显示年月
文件大小:152KB
文件格式:ZIP
更新时间:2016-09-17 11:25:17
日期控件
public class Android_DateActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
private Button button;
private TextView textview;
private Dialog mdialog;
private Calendar calendar = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
initUi();
button.setOnClickListener(this);
}
public void initUi() {
button = (Button) findViewById(R.id.button);
textview = (TextView) findViewById(R.id.textview);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(0);// 日期弹出框
int SDKVersion = Android_DateActivity.this.getSDKVersionNumber();// 获取系统版本
System.out.println("SDKVersion = " + SDKVersion);
DatePicker dp = findDatePicker((ViewGroup) mdialog.getWindow()
.getDecorView());// 设置弹出年月日
if (dp != null) {
if (SDKVersion < 11) {
((ViewGroup) dp.getChildAt(0)).getChildAt(1).setVisibility(
View.GONE);
} else if (SDKVersion > 14) {
((ViewGroup) ((ViewGroup) dp.getChildAt(0)).getChildAt(0))
.getChildAt(1).setVisibility(View.GONE);
}
}
}
@Override
protected Dialog onCreateDialog(int id) { // 对应上面的showDialog(0);//日期弹出框
mdialog = null;
switch (id) {
case 0:
calendar = Calendar.getInstance();
mdialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
textview.setText(year + "-" + (monthOfYear + 1));
}
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
break;
}
return mdialog;
}
/**
* 从当前Dialog中查找DatePicker子控件
*
* @param group
* @return
*/
private DatePicker findDatePicker(ViewGroup group) {
if (group != null) {
for (int i = 0, j = group.getChildCount(); i < j; i++) {
View child = group.getChildAt(i);
if (child instanceof DatePicker) {
return (DatePicker) child;
} else if (child instanceof ViewGroup) {
DatePicker result = findDatePicker((ViewGroup) child);
if (result != null)
return result;
}
}
}
return null;
}
/**
* 获取系统SDK版本
*
* @return
*/
public static int getSDKVersionNumber() {
int sdkVersion;
try {
sdkVersion = Integer.valueOf(android.os.Build.VERSION.SDK);
} catch (NumberFormatException e) {
sdkVersion = 0;
}
return sdkVersion;
}
}
【文件预览】:
Android_Date
----bin()
--------classes.dex(6KB)
--------res()
--------jarlist.cache(119B)
--------classes()
--------resources.ap_(34KB)
--------Android_Date.apk(38KB)
----res()
--------drawable-ldpi()
--------drawable-hdpi()
--------drawable-xhdpi()
--------values()
--------drawable-mdpi()
--------layout()
----proguard-project.txt(781B)
----assets()
----gen()
--------com()
----src()
--------com()
----.project(848B)
----.classpath(364B)
----project.properties(563B)
----AndroidManifest.xml(737B)
网友评论
- 没有达到我想要的效果
- 是可以用,但是不是我想要的。。。在sdk版本不同的情况下,显示都不正确。。。
- 挺好的,很适合,自己修改下就好了,谢谢
- 很不错,谢谢分享
- 不错,按照自己的需求修改了几处,很好用。
- 挺好的功能不错
- 可用的,需要的是只有日的 稍微改了一下就好了
- 显示的是年日 自己改下 把0换成2还是1去了 忘了,就可以了是年月了 试试就知道
- 不是我想要的,还是可以使用的
- 谢谢提供,可用
- 挺好的,很适合,自己修改下就好了,谢谢
- 挺好的值得学习
- 有点小问题,动手试一试,改一改就好了~
- 好评,能够用,标题没问题?
- 还不错,好用 的
- 显示的是年 日吧 这个标题好坑
- 永别的方式实现了,坑········
- 可以使用 用上了
- 能用 蛮好的
- 还可以吧 有点用处
- 不错,挺有用的!