Android系统。双背景AlertDialog

时间:2014-06-22 00:26:26

标签: android background alertdialog

大家好! 原谅,我非常了解英语...

我有一个问题。我的AlertDialog有双重背景。看:

http://screenshotuploader.com/s/1406rn7lr

外部背景 - 是我做的。 内部背景 - 我不知道要清洁。 我有两个选择:

  1. 清理内部背景
  2. 或清理外部背景,但随后更改内部
  3. public Dialog onCreateDialog(Bundle savedInstanceState){

    AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.AppTheme));
    //AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    View view = inflater.inflate(R.layout.test_dialog, null);
    builder.setView(view);
    
    Dialog dialog = builder.create();
    dialog.getWindow().setBackgroundDrawableResource(R.drawable.alert_dialog_full_dark);
    return dialog;
    

    }

    此代码构建了dialod 这个XML:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="10dp" >
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Text in Dialog"
            style="@style/big_text" />
    
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="edit"
            style="@style/EditTextStyle" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            android:layout_gravity="center_horizontal"
            style="@style/ButtonStyle" />
    
    </LinearLayout>
    

    请帮帮我。 谢谢!

    是!!!我找到了答案! Change background of ProgressDialog

    API9的风格(也许是API8 ......我不知道):

    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
    </style>
    
    <style name="CustomAlertDialogStyle" parent="@android:style/Theme.Dialog">
        <item name="android:fullDark">@drawable/alert_dialog_full_dark</item>
        <item name="android:fullBright">@drawable/alert_dialog_full_dark</item>
        <item name="android:topDark">@drawable/alert_dialog_top_dark</item>
        <item name="android:topBright">@drawable/alert_dialog_top_dark</item>
        <item name="android:centerDark">@drawable/alert_dialog_center_dark</item>
        <item name="android:centerBright">@drawable/alert_dialog_center_dark</item>
        <item name="android:centerMedium">@drawable/alert_dialog_center_dark</item>
        <item name="android:bottomDark">@drawable/alert_dialog_bottom_dark</item>
        <item name="android:bottomBright">@drawable/alert_dialog_bottom_dark</item>
        <item name="android:bottomMedium">@drawable/alert_dialog_bottom_dark</item>
    </style>
    

    API11及更多样式:

    <style name="AppTheme" parent="@style/Theme.AppCompat">
        <item name="android:alertDialogTheme">@style/AppTheme.AlertDialogTheme11</item>
    </style>
    
    <style name="AppTheme.AlertDialogTheme11" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowTitleStyle">@null</item>
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:background">@color/transparent</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
        <item name="android:windowCloseOnTouchOutside">true</item>
        <item name="android:windowActionModeOverlay">true</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowMinWidthMajor">@dimen/dialog_min_width_major</item>
        <item name="android:windowMinWidthMinor">@dimen/dialog_min_width_minor</item>
        <item name="android:alertDialogStyle">@style/AppTheme.AlertDialogTheme11.AlertDialogStyle11</item>
    </style>
    
    <style name="AppTheme.AlertDialogTheme11.AlertDialogStyle11">
        <item name="android:fullDark">@drawable/alert_dialog_full_dark</item>
        <item name="android:fullBright">@drawable/alert_dialog_full_dark</item>
        <item name="android:topDark">@drawable/alert_dialog_top_dark</item>
        <item name="android:topBright">@drawable/alert_dialog_top_dark</item>
        <item name="android:centerDark">@drawable/alert_dialog_center_dark</item>
        <item name="android:centerBright">@drawable/alert_dialog_center_dark</item>
        <item name="android:centerMedium">@drawable/alert_dialog_center_dark</item>
        <item name="android:bottomDark">@drawable/alert_dialog_bottom_dark</item>
        <item name="android:bottomBright">@drawable/alert_dialog_bottom_dark</item>
        <item name="android:bottomMedium">@drawable/alert_dialog_bottom_dark</item>
    </style>
    

    有必要在对话中找到底栏(按钮)的样式和列表中的点的颜色

0 个答案:

没有答案