如何更改对话框的颜色

时间:2010-12-08 10:24:26

标签: android user-interface dialog

当我在不同设备上安装我的应用程序时对话框的颜色会将设备更改为设备          如何设置对话框的颜色

此致 Kariyachan

4 个答案:

答案 0 :(得分:1)

你在anddev.org上有一些线索。基本思想是扩展默认主题并在您的活动中使用它。特别是,您需要扩展Theme.Dialog样式。

答案 1 :(得分:1)

您可以命名用于测试的设备吗?...可能它们可能包含自定义的Android版本,因此对话框颜色会发生变化。您可以保留它,因为您的构建将使用设备可用的默认样式,否则尝试设置样式以避免此行为。

答案 2 :(得分:1)

通过为其设置对话框主题,将活动用作对话框。然后,您可以使用自己的背景和颜色来扩充自己的布局。

答案 3 :(得分:1)

更改DialogBox的颜色,并使用AlertDialog执行更多操作。

你需要做什么:

  

屏幕上显示AlertDialog时,会调用OnShowListener。因此,通过添加dialog.setOnShowListener(this),您就可以自定义AlertDialog

<强>代码:

// Create AlertDialog
AlertDialog.Builder adb = new AlertDialog.Builder(context1);
    adb.setTitle(context1.getString(R.string.app_name))
    .setMessage(message)
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
});
AlertDialog dialog = adb.create();

// Make some UI changes for AlertDialog
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
    @Override
    public void onShow(final DialogInterface dialog) {

        // Add or create your own background drawable for AlertDialog window
        Window view = ((AlertDialog)dialog).getWindow();
        view.setBackgroundDrawableResource(R.drawable.your_drawable);

        // Customize POSITIVE, NEGATIVE and NEUTRAL buttons.
        Button positiveButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_POSITIVE);
        positiveButton.setTextColor(context1.getResources().getColor(R.color.primaryColor));
        positiveButton.setTypeface(Typeface.DEFAULT_BOLD);
        positiveButton.invalidate();

        Button negativeButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_NEGATIVE);
        negativeButton.setTextColor(context1.getResources().getColor(R.color.primaryColor));
        negativeButton.setTypeface(Typeface.DEFAULT_BOLD);
        negativeButton.invalidate();

        Button neutralButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_NEUTRAL);
        neutralButton.setTextColor(context1.getResources().getColor(R.color.primaryColor));
        neutralButton.setTypeface(Typeface.DEFAULT_BOLD);
        neutralButton.invalidate();
    }
});