如何在android中使警报对话透明

时间:2015-04-01 05:28:19

标签: android xml alertdialog

我正在使用一个警告对话框来显示一些复选框。我需要一个透明的视图来查看整个alertview及其内容。我尝试了很多方法......但没有帮助我......任何人都可以帮助我...任何人帮助将高度适用....

在java中创建警报对话的代码

Context c = getParent();
                                m_adapter = new Intrested_in_adapter(
                                        Requestclass.this,
                                        R.layout.intrestedin, offferList);

//                              Dialog dialog = new Dialog(this, R.style.NewDialog);
//                              mDialog = new AlertDialog.Builder(c,R.style.NewDialog);
                                mDialog = new AlertDialog.Builder(c);
                                mDialog.setTitle("Intrested In");

                                mDialog.setAdapter(m_adapter,
                                        new DialogInterface.OnClickListener() {
                                            public void onClick(
                                                    DialogInterface dialog,
                                                    int item) {

                                            }
                                        });

                                alertDialog = mDialog.create();
                                Log.e(tag,"before background setting");
//                              alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
//                              alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
                                Log.e(tag,"after background setting");

                                alertDialog.show();

警告对话的xml(intrestedin.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" 

    >
     <CheckBox
        android:id="@+id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"

         />
</LinearLayout>

3 个答案:

答案 0 :(得分:0)

可能有帮助

<?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:background="@android:color/transparent" //make background transparent here by using this line
>
 <CheckBox
    android:id="@+id/checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#000000"

     />

答案 1 :(得分:0)

您可以设置默认的Android主题,因此无需在额外NoTitleBar中设置params,然后尝试一次它将起作用。

dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar);

答案 2 :(得分:0)

<style name="TransparentDialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowTitleStyle">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:background">@android:color/transparent</item>
</style>

在java中使用

Dialog dialog = new Dialog(this, R.style.TransparentDialog);

希望这会对你有所帮助!! ..