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();
}
}
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.