彈出畫面:
heart_rate__calendar.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:scrollbarStyle="outsideInset" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFFFF"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/calendar_month"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:text="NOV"
android:textColor="#FF33B5E5"
android:textSize="30sp" />
<TextView
android:id="@+id/calendar_day"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"
android:autoText="true"
android:gravity="center"
android:text="37"
android:textColor="#FF33B5E5"
android:textSize="120sp" />
<CalendarView
android:id="@+id/calendarChose"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="5"
android:accessibilityLiveRegion="assertive"
android:descendantFocusability="blocksDescendants"
android:focusable="true"
android:focusableInTouchMode="true"
android:importantForAccessibility="auto"
android:labelFor="@integer/abc_max_action_buttons"
android:layoutMode="opticalBounds"
android:nextFocusForward="@anim/slide_in_right" />
<Button
android:id="@+id/calendar_done"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#FFFFFFFF"
android:text="Done" />
</LinearLayout>
</RelativeLayout>
heart_rate_maina.class
private View dialogViewCalendar, view;
protected AlertDialog dialogCalendar;
private Button btn1;
public class heart_rate_main extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.heart_rate_main, container, false);
btn1 = (Button)view.findViewById(R.id.btn1);
btn.setOnClickListener(btn1_Click);
LayoutInflater factory = LayoutInflater.from(getActivity());
dialogViewCalendar = factory.inflate(R.layout.heart_rate_calendar, null);
dialogCalendar = new AlertDialog.Builder(getActivity()).create();
dialogCalendar.setView(dialogViewCalendar);
return view
}
private String[] MonthEng = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
private void dialogCalendarView(){
((TextView)dialogViewCalendar.findViewById(R.id.calendar_month)).setText(new SimpleDateFormat("MMM", Locale.US).format(new Date().getTime()));
((TextView)dialogViewCalendar.findViewById(R.id.calendar_day)).setText(new SimpleDateFormat("dd").format(new Date().getTime()));
((CalendarView)dialogViewCalendar.findViewById(R.id.calendarChose)).setOnDateChangeListener(new OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month,
int dayOfMonth) {
// TODO Auto-generated method stub
((TextView)dialogViewCalendar.findViewById(R.id.calendar_month)).setText(MonthEng[month]);
((TextView)dialogViewCalendar.findViewById(R.id.calendar_day)).setText(String.valueOf(dayOfMonth));
}
});
((Button)dialogViewCalendar.findViewById(R.id.calendar_done)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Bundle b = new Bundle();
b.putString("year", new SimpleDateFormat("yyyy").format(((CalendarView)dialogViewCalendar.findViewById(R.id.calendarChose)).getDate()));
b.putString("month", ((TextView)dialogViewCalendar.findViewById(R.id.calendar_month)).getText().toString());
b.putString("day", ((TextView)dialogViewCalendar.findViewById(R.id.calendar_day)).getText().toString());
b.putSerializable("heart_rate_detail_list.class", heart_rate_detail_list.class);
changeFragment(new heart_rate_detail_list(), b);
dialogCalendar.dismiss();
}
});
}
private LinearLayout.OnClickListener btn1_Click = new OnClickListener(){
@Override
public void onClick(View v){
dialogCalendar.show();
}
}
參考文獻:http://iamshiao.blogspot.tw/2010/12/androiddialog.html
沒有留言:
張貼留言