0

在 android 日期选择器中,我需要更改完成按钮背景。

代码:

 private void showDateDialog() 
{
    Calendar c = Calendar.getInstance();
    int year = c.get(Calendar.YEAR);
    int monthOfYear = c.get(Calendar.MONTH) + 1;
    int dayOfMonth = c.get(Calendar.DAY_OF_MONTH);

    String currentdate = year+"";
    if(monthOfYear<10)
        currentdate += "0";
    currentdate += (monthOfYear);
    if(dayOfMonth<10)
        currentdate += "0";             
    currentdate += dayOfMonth;

    currentDate = Integer.parseInt(currentdate);

    DatePickerDialog datePickerDialog = new DatePickerDialog(SelectEvent.this, new OnDateSetListener() 
    {
        @Override
        public void onDateSet(DatePicker view, int _year, int _monthOfYear,
                int _dayOfMonth) 
        {
            String date = _year+"";
            if(_monthOfYear+1<10)
                date += "0";
            date += (_monthOfYear+1);
            if(_dayOfMonth<10)
                date += "0";                
            date += _dayOfMonth;

            selectedDate = Integer.parseInt(date);
            DOB = date;

            if(selectedDate >= currentDate)
                eventdate.setText(_dayOfMonth+"/"+(_monthOfYear+1)+"/"+_year);
            else
            {
                eventdate.setText("");
                showDialog("Please Select Event Date");
                //Toast.makeText(context, "Please Select Event Date", Toast.LENGTH_SHORT).show();
            }
        }
    }, year, monthOfYear-1, dayOfMonth);

    datePickerDialog.setButton(DatePickerDialog.BUTTON_POSITIVE, "DONE", datePickerDialog);
    datePickerDialog.show();
}

如果我使用此代码,我只会得到默认的日期选择器,并且只需将“完成”更改为“完成”。但我希望该日期选择器为https://drive.google.com/file/d/0B2NGqFM-F0bNWGl2VG93OUJpaWM/edit?usp=sharing

请给出一些想法和建议,我如何在 android 中更改颜色。在这个网站我搜索但我没有得到。

谢谢&问候尚卡尔

4

2 回答 2

2

试试下面的代码。它从对话框中获取按钮并在其上设置自定义可绘制背景。

Button b = datePickerDialog.getButton(DialogInterface.BUTTON_POSITIVE);
if(b != null) {
    b.setBackgroundDrawable(getResources().getDrawable(R.drawable.your_custom_background_here));
}
于 2014-01-06T02:16:50.577 回答
1
datePickerDialog.show();
    datePickerDialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setBackgroundDrawable(getResources().getDrawable(R.drawable.browse_background));
    datePickerDialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setTextSize(30);
    datePickerDialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setTypeface(typeface);
    datePickerDialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setTextColor(getResources().getColor(R.color.white));
    datePickerDialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setText("DONE");

使用这个工作正常。

于 2014-01-09T07:01:53.627 回答