我做了一个Android活动,我已经使用了android默认的datepicker对话框,我正在运行它我正在获取android版本的旧类型datepicker,因为我已经附在下面的图片中,我想要最新版本的日期选择器作为在第二个scree中显示,
码
DestAdapter adapter;
public static final String[] MONTHS = { "Jan", "Feb", "Mar", "Apr", "May",
"Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
private Calendar cal;
private int dy;
private int month;
private int year;
int flag = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_book);
tv_from.setOnClickListener(new OnClickListener() {
@SuppressWarnings("deprecation")
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
flag = 1;
showDialog(0);
}
});
}
@Override
@Deprecated
protected Dialog onCreateDialog(int id) {
return new DatePickerDialog(this, datePickerListener, year, month, dy);
}
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
if (flag == 1) {
tv_from.setText(selectedYear + "/" + selectedMonth + "/"
+ selectedDay);
} else if (flag == 2) {
tv_to.setText(selectedYear + "/" + selectedMonth + "/"
+ selectedDay);
}
}
};
}
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.eps.blancatours"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ui.SplashActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 0 :(得分:3)
进入清单文件,找到日期选择代码所在的活动名称
并使用android:theme
代码
<activity>
属性为该活动提供最新主题
你的代码是完美的没有错误或没有任何错误,你使用旧主题,这就是为什么它看起来像这样。现在只需将其更改为更新的主题,您将获得结果
新主题在某种意义上支持更新版本的主题,并以您想要的方式显示日期选择器 使用
Theme_Holo_Light_Dialog_NoActionBar in activity tab of manifest file
或者你可以将主题传递给日期选择器,有接受主题的日期选择器的构造函数
DatePickerDialog dpd = new DatePickerDialog(this,
android.R.style.Theme_Holo_Light_Dialog_NoActionBar,
new DateListener(v), mTime.year, mTime.month, mTime.monthDay);
答案 1 :(得分:1)
我得到了解决方案,实际上我已将我的活动主题设置如下,其他api级别不支持,
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
我已经改变了,得到了理想的解决方案......