自定义形状对话框

时间:2017-07-23 15:49:34

标签: android android-custom-view android-alertdialog

Custom Background

我希望这个形状的活动......我在清单中应用了对话框主题,但是如何将这个图像作为我的对话框形状

我的活动是

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.success);

    }

我的xml是

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="8dp"
        android:background="@drawable/custom_dialog">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="16dp"
            android:layout_centerInParent="true">

            <TextView
                android:id="@+id/success"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="16dp"
                android:text="You have successfully signed in with LinkedIn"
                android:textAlignment="center"
                android:textColor="@color/dia_text"
                android:textSize="24sp" />

            <TextView
                android:id="@+id/personalise"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/success"
                android:layout_centerInParent="true"
                android:layout_marginTop="16dp"
                android:padding="8dp"
                android:text="Lets, personalise Conext!"
                android:textAlignment="center"
                android:textColor="@color/dia_text_con"
                android:textSize="22sp" />

            <ImageView
                android:id="@+id/nextBtn"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_below="@+id/personalise"
                android:layout_centerInParent="true"
                android:layout_marginTop="8dp"
                android:src="@drawable/next_icon" />

        </RelativeLayout>

    </RelativeLayout>

</RelativeLayout>

我是android的新手,对不起,如果我的问题太傻了。可以请你帮帮我

我的Mamifest

 <activity
        android:name=".ui.SuccessPopUp"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />

1 个答案:

答案 0 :(得分:1)

由于您的活动是对话框,因此您必须创建自定义对话框主题。在styles.xml

中添加以下行
<resources>
<style name="MyDialogTheme" parent="android:Theme.Dialog">
        <item name="android:background">#00000000</item>
</style>
</resources>

也改变清单文件中的主题。

 <activity
    android:name=".ui.SuccessPopUp"
    android:screenOrientation="portrait"
    android:theme="@android:@style/MyDialogTheme" />

最后将布局的背景更改为图像,然后删除第二个RelativeLayout。