Android 日期控件只显示年月

时间:2016-09-17 11:25:17
【文件属性】:
文件名称: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去了 忘了,就可以了是年月了 试试就知道
  • 不是我想要的,还是可以使用的
  • 谢谢提供,可用
  • 挺好的,很适合,自己修改下就好了,谢谢
  • 挺好的值得学习
  • 有点小问题,动手试一试,改一改就好了~
  • 好评,能够用,标题没问题?
  • 还不错,好用 的
  • 显示的是年 日吧 这个标题好坑
  • 永别的方式实现了,坑········
  • 可以使用 用上了
  • 能用 蛮好的
  • 还可以吧 有点用处
  • 不错,挺有用的!