[英]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.