Android
Datum- och tidsväljare
Sök…
Material DatePicker
lägg till nedanstående beroenden till build.gradle
filen i beroendeavsnittet. (detta är ett inofficiellt bibliotek för datumväljaren)
compile 'com.wdullaer:materialdatetimepicker:2.3.0'
Nu måste vi öppna DatePicker
på knappen-klickhändelse.
Så skapa en knapp på xml-fil som nedan.
<Button
android:id="@+id/dialog_bt_date"
android:layout_below="@+id/resetButton"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:textColor="#FF000000"
android:gravity="center"
android:text="DATE"/>
och i MainActivity använder du detta sätt.
public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener{
Button button;
Calendar calendar ;
DatePickerDialog datePickerDialog ;
int Year, Month, Day ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
calendar = Calendar.getInstance();
Year = calendar.get(Calendar.YEAR) ;
Month = calendar.get(Calendar.MONTH);
Day = calendar.get(Calendar.DAY_OF_MONTH);
Button dialog_bt_date = (Button)findViewById(R.id.dialog_bt_date);
dialog_bt_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerDialog = DatePickerDialog.newInstance(MainActivity.this, Year, Month, Day);
datePickerDialog.setThemeDark(false);
datePickerDialog.showYearPickerFirst(false);
datePickerDialog.setAccentColor(Color.parseColor("#0072BA"));
datePickerDialog.setTitle("Select Date From DatePickerDialog");
datePickerDialog.show(getFragmentManager(), "DatePickerDialog");
}
});
}
@Override
public void onDateSet(DatePickerDialog view, int Year, int Month, int Day) {
String date = "Selected Date : " + Day + "-" + Month + "-" + Year;
Toast.makeText(MainActivity.this, date, Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.abc_main_menu, menu);
return true;
}
}
Utgång:
Datumväljardialog
Det är en dialogruta som uppmanar användaren att välja datum med DatePicker
. Dialogen kräver kontext, första år, månad och dag för att visa dialogen med startdatum. När användaren väljer datumet kommer det att DatePickerDialog.OnDateSetListener
tillbaka via DatePickerDialog.OnDateSetListener
.
public void showDatePicker(Context context,int initialYear, int initialMonth, int initialDay) {
DatePickerDialog datePickerDialog = new DatePickerDialog(context,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datepicker,int year ,int month, int day) {
//this condition is necessary to work properly on all android versions
if(view.isShown()){
//You now have the selected year, month and day
}
}
}, initialYear, initialMonth , initialDay);
//Call show() to simply show the dialog
datePickerDialog.show();
}
Observera att månaden är en början från 0 till januari till 11 för december
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow