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

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

Android CalendarView,DatePicker,TimePicker,以及NumberPicker的使用

2019-12-12 04:12:33
字體:
供稿:網(wǎng)友

Android  CalendarView,DatePicker,TimePicker,以及NumberPicker的使用

簡單復(fù)習(xí)下基礎(chǔ)UI組件,做個(gè)簡單的總結(jié),Android的這些組件封裝的特別好,基本套上就能使用,當(dāng)然,這個(gè)減輕了開發(fā)者的負(fù)擔(dān)!不過如果想要深入研究,這里面還是有很大的空間值得深度分析!簡單的幾個(gè)例子!僅供參考:

不多說,先上效果圖:

CalendarView

ChooseView

NumberPicker

CalendarView代碼區(qū) :

main.xml代碼區(qū):CalendarView組件的使用加上一些簡單的屬性即可!

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="match_parent"  android:layout_height="match_parent">  <TextView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:text="選擇您的生日:"/>  <!-- 設(shè)置以星期二作為每周第一天  設(shè)置該組件總共顯示4個(gè)星期  并對該組件的日期時(shí)間進(jìn)行了定制 -->  <CalendarView    android:layout_width="match_parent"    android:layout_height="match_parent"    android:firstDayOfWeek="3"    android:shownWeekCount="4"    android:selectedWeekBackgroundColor="#aff"    android:focusedMonthDateColor="#f00"    android:weekSeparatorLineColor="#ff0"    android:unfocusedMonthDateColor="#f9f"    android:id="@+id/calendarView" /></LinearLayout>

Activity區(qū)代碼:

public class MainActivity extends Activity{  CalendarView cv;  @Override  protected void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    cv = (CalendarView)findViewById(R.id.calendarView);    // 為CalendarView組件的日期改變事件添加事件監(jiān)聽器    cv.setOnDateChangeListener(new OnDateChangeListener()    {      @Override      public void onSelectedDayChange(CalendarView view, int year,        int month, int dayOfMonth)      {        // 使用Toast顯示用戶選擇的日期        Toast.makeText(MainActivity.this,            "你生日是" + year + "年" + month + "月"                + dayOfMonth + "日",            Toast.LENGTH_SHORT).show();      }    });  }}

DatePicker,TimePicker,結(jié)合Calerdar的使用,可以供用戶選擇日期時(shí)使用:

代碼區(qū):

main.xml代碼:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="match_parent"  android:layout_height="match_parent">  <TextView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:text="選擇購買本書的具體時(shí)間"/>  <!-- 定義一個(gè)DatePicker組件 -->  <DatePicker android:id="@+id/datePicker"    android:layout_width="wrap_content"    android:layout_height="200dp"    android:layout_gravity="center_horizontal"    android:startYear="2000"    android:endYear="2016"    android:calendarViewShown="true"    android:spinnersShown="true"/>  <!-- 定義一個(gè)TimePicker組件 -->  <TimePicker android:id="@+id/timePicker"    android:layout_width="wrap_content"    android:layout_height="100dp"    android:layout_gravity="center_horizontal"/>  <!-- 顯示用戶輸入日期、時(shí)間的控件 -->  <EditText android:id="@+id/show"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:editable="false"    android:cursorVisible="false"/></LinearLayout>

Activity代碼:

public class MainActivity extends Activity{  // 定義5個(gè)記錄當(dāng)前時(shí)間的變量  private int year;  private int month;  private int day;  private int hour;  private int minute;  @Override  public void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    DatePicker datePicker = (DatePicker)        findViewById(R.id.datePicker);    TimePicker timePicker = (TimePicker)        findViewById(R.id.timePicker);    // 獲取當(dāng)前的年、月、日、小時(shí)、分鐘    Calendar c = Calendar.getInstance();    year = c.get(Calendar.YEAR);    month = c.get(Calendar.MONTH);    day = c.get(Calendar.DAY_OF_MONTH);    hour = c.get(Calendar.HOUR);    minute = c.get(Calendar.MINUTE);    // 初始化DatePicker組件,初始化時(shí)指定監(jiān)聽器    datePicker.init(year, month, day, new OnDateChangedListener()    {      @Override      public void onDateChanged(DatePicker arg0, int year          , int month, int day)      {        MainActivity.this.year = year;        MainActivity.this.month = month;        MainActivity.this.day = day;        // 顯示當(dāng)前日期、時(shí)間        showDate(year, month, day, hour, minute);      }    });    timePicker.setEnabled(true);    // 為TimePicker指定監(jiān)聽器    timePicker.setOnTimeChangedListener(new OnTimeChangedListener()    {      @Override      public void onTimeChanged(TimePicker view          , int hourOfDay, int minute)      {        MainActivity.this.hour = hourOfDay;        MainActivity.this.minute = minute;        // 顯示當(dāng)前日期、時(shí)間        showDate(year, month, day, hour, minute);      }    });  }  // 定義在EditText中顯示當(dāng)前日期、時(shí)間的方法  private void showDate(int year, int month      , int day, int hour, int minute)  {    EditText show = (EditText) findViewById(R.id.show);    show.setText("您的購買日期為:" + year + "年"        + (month + 1) + "月" + day + "日 "        + hour + "時(shí)" + minute + "分");  }}

NumberPicker主要使用在給用戶提供數(shù)字選擇時(shí)使用。

main.xml代碼:

<TableLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="wrap_content">  <TableRow    android:layout_width="match_parent"    android:layout_height="wrap_content">    <TextView      android:text="選擇低價(jià):"      android:layout_width="120dp"      android:layout_height="wrap_content" />    <NumberPicker      android:id="@+id/np1"      android:layout_width="match_parent"      android:layout_height="80dp"      android:focusable="true"      android:focusableInTouchMode="true" />  </TableRow>  <TableRow    android:layout_width="match_parent"    android:layout_height="wrap_content">    <TextView      android:text="選擇高價(jià):"      android:layout_width="120dp"      android:layout_height="wrap_content" />    <NumberPicker      android:id="@+id/np2"      android:layout_width="match_parent"      android:layout_height="80dp"      android:focusable="true"      android:focusableInTouchMode="true" />  </TableRow></TableLayout>

Activity代碼:

public class MainActivity extends Activity{  NumberPicker np1, np2;  // 定義最低價(jià)格、最高價(jià)格的初始值  int minPrice = 25, maxPrice = 75;  @Override  protected void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    np1 = (NumberPicker) findViewById(R.id.np1);    // 設(shè)置np1的最小值和最大值    np1.setMinValue(10);    np1.setMaxValue(50);    // 設(shè)置np1的當(dāng)前值    np1.setValue(minPrice);    np1.setOnValueChangedListener(new OnValueChangeListener()    {      // 當(dāng)NumberPicker的值發(fā)生改變時(shí),將會(huì)激發(fā)該方法      @Override      public void onValueChange(NumberPicker picker,        int oldVal, int newVal)      {        minPrice = newVal;        showSelectedPrice();      }    });    np2 = (NumberPicker) findViewById(R.id.np2);    // 設(shè)置np2的最小值和最大值    np2.setMinValue(60);    np2.setMaxValue(100);    // 設(shè)置np2的當(dāng)前值    np2.setValue(maxPrice);    np2.setOnValueChangedListener(new OnValueChangeListener()    {      // 當(dāng)NumberPicker的值發(fā)生改變時(shí),將會(huì)激發(fā)該方法      @Override      public void onValueChange(NumberPicker picker, int oldVal,                   int newVal)      {        maxPrice = newVal;        showSelectedPrice();      }    });  }  private void showSelectedPrice()  {    Toast.makeText(this, "您選擇最低價(jià)格為:" + minPrice        + ",最高價(jià)格為:" + maxPrice, Toast.LENGTH_SHORT)        .show();  }}

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 从化市| 焦作市| 申扎县| 弥渡县| 海阳市| 招远市| 大洼县| 中阳县| 博野县| 林西县| 小金县| 德格县| 漳州市| 皮山县| 依兰县| 通城县| 汽车| 辽中县| 兴安县| 米脂县| 临夏县| 灯塔市| 镇沅| 原平市| 通榆县| 思茅市| 福鼎市| 铁力市| 额尔古纳市| 平和县| 丹巴县| 丘北县| 青铜峡市| 新化县| 南投市| 古交市| 石棉县| 虞城县| 蛟河市| 伊宁县| 宜丰县|