簡體   English   中英

Android自定義對話框設計

[英]Android Custom Dialog Design

我正在為我的應用程序設計自定義對話框。 但是,我的設計存在一些問題。 我要創建以下內容:

這是對話框的屏幕截圖

我幾乎完成了所有工作,只有一部分丟失了。 我在此處以黑色突出顯示的邊框(在實際應用中為白色,對話框的背景色)應該是透明的,但僅是黑色部分。

這是XML代碼:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="335dp"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:layout_gravity="center_horizontal"
        android:adjustViewBounds="false"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/dialog_circle"
        android:id="@+id/relativeLayout2"
        android:translationZ="1dp"
        android:layout_marginBottom="-35dp">
        <ImageView
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:src="@drawable/icon_big"
            android:id="@+id/imageView5"
            android:layout_gravity="center_horizontal"
            android:adjustViewBounds="false"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            />

    </RelativeLayout>

    <LinearLayout
        android:id="@+id/listLayout"
        android:layout_width="fill_parent"
        android:layout_height="300dp"
        android:background="@drawable/custom_dialog_background"
        android:orientation="vertical"
        android:layout_below="@+id/relativeLayout2">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:background="#2e7b8a"
        android:id="@+id/relativeLayout">


        <ImageView
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@drawable/close2"
            android:id="@+id/imgClose"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            />



        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Title"
            android:textColor="#000000"
            android:textStyle="italic|bold"
            android:textSize="30sp"
            android:id="@+id/textView9"
            android:layout_below="@+id/imgClose"
            android:layout_centerHorizontal="true" />
    </RelativeLayout>



    </LinearLayout>
</RelativeLayout>

在對話框類中:

    Window window = this.getWindow();
    window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

這將刪除標題和最有可能的邊框。 如果使用的是DialogFragment,則還可以定義如下樣式:

    int style, theme;

    style = DialogFragment.STYLE_NO_FRAME;
    theme = android.R.style.Theme_Holo_Dialog;


    setStyle(style, theme);

嘗試這樣。

 <style name="MY.DIALOG" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/black</item>


</style>

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setStyle(DialogFragment.STYLE_NORMAL, R.style.MY_DIALOG);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM