国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android自定義dialog可選擇展示年月日時間選擇欄

2019-12-12 03:31:06
字體:
供稿:網(wǎng)友

自定義dialog

package com.poptest; import android.app.DatePickerDialog; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.DatePicker; //dialog類  public class YearPickerDialog extends DatePickerDialog {   public YearPickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) {     super(context, callBack, year, monthOfYear, dayOfMonth);      this.setTitle(year + "年" + (monthOfYear + 1) + "月");     //getChildAt(2)隱藏日的顯示可以改變隱藏的對象    ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);    ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);   }    public YearPickerDialog(Context context, int theme, OnDateSetListener listener, int year, int monthOfYear, int dayOfMonth) {     super(context, theme, listener, year, monthOfYear, dayOfMonth);     this.setTitle(year + "年" + (monthOfYear + 1) + "月");     ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);     ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);   }    @Override  public void onDateChanged(DatePicker view, int year, int month, int day) {     super.onDateChanged(view, year, month, day);     this.setTitle(year + "年" + (month + 1) + "月");   } } 

時間處理類

//時間處理類 package com.poptest;  import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;  public class DateUtil {   public static Date strToDate(String style, String date) {     SimpleDateFormat formatter = new SimpleDateFormat(style);     try {       return formatter.parse(date);     } catch (ParseException e) {       e.printStackTrace();       return new Date();     }   }    public static String dateToStr(String style, Date date) {    SimpleDateFormat formatter = new SimpleDateFormat(style);     return formatter.format(date);   }    public static String clanderTodatetime(Calendar calendar, String style) {     SimpleDateFormat formatter = new SimpleDateFormat(style);     return formatter.format(calendar.getTime());  }    public static String DateTotime(long date, String style) {     SimpleDateFormat formatter = new SimpleDateFormat(style);     return formatter.format(date);   } }<pre name="code" class="java">//調(diào)用方式         final Calendar calendar = Calendar.getInstance(); </pre><pre name="code" class="java"><span style="white-space:pre">   </span>//沒有AlertDialog.THEME_HOLO_LIGHT這個Theme出來的dialog非常丑     new YearPickerDialog(this, AlertDialog.THEME_HOLO_LIGHT, new DatePickerDialog.OnDateSetListener() {        @Override        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {          calendar.set(Calendar.YEAR, year);          calendar.set(Calendar.MONTH, monthOfYear);         Log.d("###",DateUtil.clanderTodatetime(calendar, "yyyy-MM"));         }     }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE)).show(); </pre><br> <pre></pre> <h3><a name="t2"></a><em>解決7.0系統(tǒng)使用該方式調(diào)用崩潰的情況(只遇到在小米7.0系統(tǒng)崩潰,華為等7.0不會崩潰)</em></h3> 
package com.dmos;  import android.app.DatePickerDialog; import android.content.Context;  import android.os.Bundle; import android.widget.DatePicker; import android.widget.LinearLayout; import android.widget.NumberPicker;  public class MyDatePickerDialog extends DatePickerDialog{   public MyDatePickerDialog(Context context, int theme,      OnDateSetListener callBack, int year, int monthOfYear,      int dayOfMonth) {    super(context, theme, callBack, year, monthOfYear, dayOfMonth);  }  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    LinearLayout mSpinners = (LinearLayout) findViewById(getContext().getResources().getIdentifier("android:id/pickers", null, null));     if (mSpinners != null) {       NumberPicker mYearSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/year", null, null));      NumberPicker mMonthSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/month", null, null));      NumberPicker mDaySpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/day", null, null));       mSpinners.removeAllViews();       //如果要隱藏年,月,日中的某一項取消其addView就好了      if (mYearSpinner != null) {        mSpinners.addView(mYearSpinner);      }       if (mMonthSpinner!= null) {        mSpinners.addView(mMonthSpinner);       }      if (mDaySpinner != null) {         mSpinners.addView(mDaySpinner);        }     }   }  @Override   public void onDateChanged(DatePicker view, int year, int month, int day) {     super.onDateChanged(view, year, month, day);    setTitle(year+"年"+(month+1)+"月");   } }  

以上所述是小編給大家介紹的Android自定義dialog可選擇展示年月日時間選擇欄,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 开原市| 鄯善县| 芜湖市| 乡城县| 花莲县| 永川市| 北宁市| 崇仁县| 浦县| 邛崃市| 九龙坡区| 桐柏县| 武定县| 思南县| 和平县| 扶沟县| 龙江县| 荔波县| 双流县| 斗六市| 中牟县| 黔南| 栾川县| 兴海县| 九台市| 金川县| 理塘县| 东莞市| 达州市| 哈密市| 孟州市| 吉安县| 虹口区| 呼图壁县| 安阳县| 津市市| 山阴县| 河南省| 新昌县| 郸城县| 武强县|