Android  CalendarView,DatePicker,TimePicker,NumberPicker 사용

Android  CalendarView,DatePicker,TimePicker,NumberPicker 사용
기본 UI 구성 요 소 를 간단하게 복습 하고 간단 한 정 리 를 합 니 다.안 드 로 이 드 의 이러한 구성 요 소 는 패키지 가 아주 좋아 서 기본적으로 끼 워 넣 으 면 사용 할 수 있 습 니 다.물론 이것 은 개발 자의 부담 을 덜 어 줍 니 다!하지만 깊이 연구 하려 면 이 안 에는 깊이 분석 할 만 한 공간 이 많다!간단 한 몇 가지 예!참고 만 제공:
더 이상 말 하지 않 고 먼저 효과 도 를 올 립 니 다.

CalendarView

ChooseView

NumberPicker
CalendarView 코드 영역:
main.xml 코드 구역: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="      :"/>
  <!--              
           4   
                  -->
  <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 영역 코드:

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                
    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,Calerdar 와 결합 하여 사용자 가 날 짜 를 선택 할 때 사용 할 수 있 습 니 다.
코드 영역:
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="           "/>
  <!--     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"/>
  <!--     TimePicker   -->
  <TimePicker android:id="@+id/timePicker"
    android:layout_width="wrap_content"
    android:layout_height="100dp"
    android:layout_gravity="center_horizontal"/>
  <!--         、      -->
  <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          
  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);
    //       、 、 、  、  
    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  ,         
    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;
        //       、  
        showDate(year, month, day, hour, minute);
      }
    });
    timePicker.setEnabled(true);
    //  TimePicker     
    timePicker.setOnTimeChangedListener(new OnTimeChangedListener()
    {
      @Override
      public void onTimeChanged(TimePicker view
          , int hourOfDay, int minute)
      {
        MainActivity.this.hour = hourOfDay;
        MainActivity.this.minute = minute;
        //       、  
        showDate(year, month, day, hour, minute);
      }
    });
  }
  //    EditText       、     
  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 + " " + minute + " ");
  }
}
NumberPicker 는 주로 사용자 에 게 숫자 선택 을 제공 할 때 사용 합 니 다.
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="    :"
      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="    :"
      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;
  //       、        
  int minPrice = 25, maxPrice = 75;
  @Override
  protected void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    np1 = (NumberPicker) findViewById(R.id.np1);
    //   np1        
    np1.setMinValue(10);
    np1.setMaxValue(50);
    //   np1    
    np1.setValue(minPrice);
    np1.setOnValueChangedListener(new OnValueChangeListener()
    {
      //  NumberPicker       ,       
      @Override
      public void onValueChange(NumberPicker picker,
        int oldVal, int newVal)
      {
        minPrice = newVal;
        showSelectedPrice();
      }
    });
    np2 = (NumberPicker) findViewById(R.id.np2);
    //   np2        
    np2.setMinValue(60);
    np2.setMaxValue(100);
    //   np2    
    np2.setValue(maxPrice);
    np2.setOnValueChangedListener(new OnValueChangeListener()
    {
      //  NumberPicker       ,       
      @Override
      public void onValueChange(NumberPicker picker, int oldVal,
                   int newVal)
      {
        maxPrice = newVal;
        showSelectedPrice();
      }
    });
  }
  private void showSelectedPrice()
  {
    Toast.makeText(this, "        :" + minPrice
        + ",     :" + maxPrice, Toast.LENGTH_SHORT)
        .show();
  }
}

 읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기