1.封装好的,直接复制下来就可以用了,先看下封装好的工具类
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.DatePicker;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.Calendar;
/**
* Created by Administrator on 2017/11/16.
* Nema:JCKK
*/
public class DailLogUtlis {
private Calendar calendar; // 通过Calendar获取系统时间
private Context context;
public DailLogUtlis(Context context) {
this.context = context;
}
@SuppressLint("NewApi")
public void setDate(final TextView text) {
calendar = Calendar.getInstance();
// 通过自定义控件AlertDialog实现
AlertDialog.Builder builder = new AlertDialog.Builder(context);
View view = (LinearLayout) LayoutInflater.from(context).inflate(
R.layout.dialogdata_itme, null);
final DatePicker datePicker = (DatePicker) view
.findViewById(R.id.date_picker);
// 设置日期简略显示 否则详细显示 包括:星期周
datePicker.setCalendarViewShown(false);
// 初始化当前日期
calendar.setTimeInMillis(System.currentTimeMillis());
datePicker.init(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH), null);
// 设置date布局
builder.setView(view);
builder.setTitle("请选择日期:");
builder.setNegativeButton("确 定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 日期格式
StringBuffer sb = new StringBuffer();
sb.append(String.format("%d-%02d-%02d",
datePicker.getYear(),
datePicker.getMonth() + 1,
datePicker.getDayOfMonth()));
text.setText(sb);
dialog.cancel();
}
});
builder.setPositiveButton("取 消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.create().show();
}
}
2.自定义dialog布局 –一下代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<DatePicker
android:id="@+id/date_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dip"
android:calendarViewShown="false"
android:datePickerMode="spinner" />
</RelativeLayout>
3.在MainAcitivity中直接调用就行,简单
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private Context context=this;
private Button button;
private TextView dateTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button= (Button) findViewById(R.id.button);
dateTxt= (TextView) findViewById(R.id.dateTxt);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DailLogUtlis dailLogUtlis=new DailLogUtlis(context);
dailLogUtlis.setDate(dateTxt);
}
});
}
}
———-写下,也就方便自己以后需要用的时候,直接复制