Sam*_*H67 6 android android-alertdialog
我想设置AlertDialogue主题或更改背景颜色.
虽然我知道它有一个默认主题,但在不同的版本我得到不同的主题所以我想为所有版本修复它.
或者只是将背景颜色更改为白色
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
final SimpleAdapter adapter = new SimpleAdapter(getContext(), imagesWithNames, R.layout.lib_dialog_image,
new String[]{"name", "imageID","Spacing"}, new int[]{R.id.text1, R.id.image1,R.id.spacing});
return new AlertDialog.Builder(getContext()).setAdapter(adapter,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
((PlaceCallActivity) getContext()).OnSelected(WithNamesFragment.this.getClass(), (int) ((HashMap<String, Object>) adapter.getItem(i)).get("imageID"));
}
}).setCancelable(true).setTitle("PICK YOUR AVATAR").setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create();
}
Run Code Online (Sandbox Code Playgroud)
不要发布您的代码,请告诉我应该在哪里进行更改.
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom));
Run Code Online (Sandbox Code Playgroud)
注意:上面一行会这样做,但我想知道我应该为我的风格AlertDialogue
Sau*_*ari 13
在styles.xml文件中创建样式,如下所示.
<style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
<item name="android:textColor">@color/White</item>
<item name="android:textStyle">bold</item>
<item name="android:headerDividersEnabled">true</item>
<item name="android:typeface">normal</item>
<item name="android:background">@color/colorPrimaryDark</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后Alert Dialog使用Builder 创建如下
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this/getActvity(), R.style.AlertDialogCustom));
Run Code Online (Sandbox Code Playgroud)
这里将当前类的Context和样式传递给ContextThemeWrapper类构造函数.
您应该在 res/values/styles.xml 中添加对话框样式。就像下面这样。
<style name="MyDialog" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:background">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
或者您也可以更改背景颜色,如下所示:
编辑:
getWindow().setBackgroundDrawableResource(R.color.white);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17356 次 |
| 最近记录: |