Jar*_*vis 5 android calendar datepicker
在我的应用程序中,用户应该通过单击“编辑文本”来选择日期,因为目前我正在使用日期选择器对话框,其工作良好,但就像打开另一个对话框等。所以我想把它显示为弹出菜单,查看图片。请帮助我实现这一目标!

您只需创建一个新的弹出窗口并将日历视图填充到该窗口中:按照以下步骤操作:
edit_text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showPopup(MainActivity.this);
}
});
Run Code Online (Sandbox Code Playgroud)
现在 showPopup() 方法:
// The method that displays the popup.
private void showPopup(Activity context) {
// Inflate the popup_layout.xml
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layout = layoutInflater.inflate(R.layout.main3, null,false);
// Creating the PopupWindow
final PopupWindow popupWindow = new PopupWindow(
layout,400,400);
popupWindow.setContentView(layout);
popupWindow.setHeight(500);
popupWindow.setOutsideTouchable(false);
// Clear the default translucent background
popupWindow.setBackgroundDrawable(new BitmapDrawable());
CalendarView cv = (CalendarView) layout.findViewById(R.id.calendarView);
cv.setBackgroundColor(Color.BLUE);
cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month,
int dayOfMonth) {
// TODO Auto-generated method stub
popupWindow.dismiss();
Log.d("date selected", "date selected " + year + " " + month + " " + dayOfMonth);
}
});
popupWindow.showAtLocation(layout, Gravity.TOP,5,170);
}
Run Code Online (Sandbox Code Playgroud)
现在,main3.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<CalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="400dp"
android:clickable="true"
android:showWeekNumber="false" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
就在下面的快照中看看,您可以自行定制这个弹出窗口。

| 归档时间: |
|
| 查看次数: |
10366 次 |
| 最近记录: |