自定义对话框背景图像在android中没有清楚地显示

时间:2013-06-28 06:55:22

标签: android android-layout custom-component dialog

我已经在android中进行了一个简单的对话活动,用于学习目的并制作一个自定义对话框,并在另一个活动中显示一切顺利,唯一的问题是我放的背景图像没有在整个Dialogbox背景中显示..但是它还显示一个白色背景作为角落,在这里我放了一个屏幕,这样我的问题就会很清楚..!

我的形象:

enter image description here

我的代码是:

dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#00000000"
    android:gravity="center"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:background="@drawable/bg_dilog"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/dialog_close"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_marginRight="5dp"
            android:layout_marginTop="5dp"
            android:background="@drawable/btn_close_38" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingBottom="20dp"
            android:paddingLeft="30dp"
            android:paddingRight="30dp" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Login"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#202425" />

            <Button
                android:id="@+id/usernm"
                android:layout_width="wrap_content"
                android:layout_height="32dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/text_box"
                android:gravity="center"
                android:hint="Please enter your client number"
                android:textSize="12dp" />

            <Button
                android:id="@+id/pwd"
                android:layout_width="wrap_content"
                android:layout_height="31dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/text_box"
                android:gravity="center"
                android:hint="Please password"
                android:padding="5dp"
                android:textSize="12dp" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="15dp"
                    android:textColor="#6e6d6c"
                    android:layout_marginTop="7dp"
                    android:text="Remember me" />

                <ImageView
                    android:id="@+id/chk_login"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="7dp"
                    android:background="@drawable/checkbox"
                    android:textColor="#000000" />

            </LinearLayout>

            <Button
                android:id="@+id/login"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/btn_small"
                android:gravity="center"
                android:text="Login"
                android:textColor="#f6f1eb"
                android:textStyle="bold" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:3)

尝试调用对话框构造函数:

getWindow().setBackgroundDrawableResource(android.R.color.transparent);

答案 1 :(得分:2)

尝试在 res / values / styles.xml

上添加样式
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
       <style name="AlertDialogCustom" parent="@android:style/Theme.Holo.Light.Panel">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">true</item>
       </style>
    </resources>

并将这些样式应用于对话框,如下面的代码:

 final Dialog dialog = new Dialog(HomePage.this, R.style.AlertDialogCustom);
 dialog.setContentView(R.layout.popupaddcustomer);
 dialog.show();