我想知道如何在警报对话框中更改灰色?我试过了:
layout.setBackgroundResource(R.color.Aqua);
它没有用。有任何想法吗?
我使用以下代码创建了AlertDialog:
public class CustomInputDialog{
private OnDialogClickListener listener;
private Context context;
private String title;
private String message;
EditText input;
LinearLayout layout;
public interface OnDialogClickListener {
void onDialogOKClick(String value);
}
public CustomInputDialog(String title, String message, Context context, OnDialogClickListener listener) {
super();
this.title = title;
this.message = message;
this.context = context;
this.listener = listener;
layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(20, 10, 20, 10);
input = new EditText(context);
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(20);
input.setFilters(filters);
layout.addView(input, params);
}
private void dialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setCancelable(true);
builder.setView(layout);
builder.setTitle(title);
builder.setMessage(message);
builder.setInverseBackgroundForced(true);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String value = input.getText().toString();
listener.onDialogOKClick(value);
dialog.dismiss();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
答案 0 :(得分:4)
您可以像这样以编程方式设置自定义视图..
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, (ViewGroup) getCurrentFocus());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(dialoglayout);
builder.show();
然后获得组件的引用
e.g. Button btn = (Button) dialoglayout.findViewById(R.id.button_id);
答案 1 :(得分:0)
您必须创建custom dialog
以更改背景颜色,请参阅此link
答案 2 :(得分:0)
<style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:background">@color/myColor</item>
</style>
AlertDialog.Builder builder = new AlertDialog.Builder(Datetimeactivity.this,R.style.AlertDialogTheme);