我正在開發一個需要展現略低於位於導航欄菜單按鈕對話框的應用程序,爲實現這一目標,我用下面的代碼更改位置
Dialog dialogMenu = new Dialog(mContext);
dialogMenu.setContentView(R.layout.dialog_main_menu);
dialogMenu.getWindow().setBackgroundDrawable(
new ColorDrawable(android.graphics.Color.TRANSPARENT));
WindowManager.LayoutParams windowLayout = dialogMenu.getWindow()
.getAttributes();
windowLayout.gravity = Gravity.TOP | Gravity.LEFT;
dialogMenu.getWindow().getAttributes().verticalMargin = -0.8F;
dialogMenu.getWindow().getAttributes().horizontalMargin = 0.02F;
dialogMenu.getWindow().setAttributes(windowLayout);
但問題是,經過一個固定的垂直邊距對話框沒有像圖中所示的那樣向上移動,實際上我想要對話框點應該觸摸菜單按鈕。我無法找到解決方案。
這裏是我的dialog_main_menu.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" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@drawable/main_menu_bg" >
<TextView
android:id="@+id/txtHeadingMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:text="@string/menu"
android:textColor="@android:color/white"
android:textSize="14sp" />
<Button
android:id="@+id/ListItem_btnMyItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtHeadingMenu"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:background="@drawable/selector_btn_sort_dialog"
android:text="@string/my_item"
android:textColor="@android:color/white"
android:textSize="13sp" />
<Button
android:id="@+id/ListItem_btnMyCategory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ListItem_btnMyItem"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:background="@drawable/selector_btn_sort_dialog"
android:text="@string/my_category"
android:textColor="@android:color/white"
android:textSize="13sp" />
<Button
android:id="@+id/ListItem_btnPersonalList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ListItem_btnMyCategory"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:background="@drawable/selector_btn_sort_dialog"
android:text="@string/personal_list"
android:textColor="@android:color/white"
android:textSize="13sp" />
<Button
android:id="@+id/ListItem_btnStore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ListItem_btnPersonalList"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:background="@drawable/selector_btn_sort_dialog"
android:text="@string/store"
android:textColor="@android:color/white"
android:textSize="13sp" />
<Button
android:id="@+id/ListItem_btnSharedList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ListItem_btnStore"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:background="@drawable/selector_btn_sort_dialog"
android:text="@string/shared_list"
android:textColor="@android:color/white"
android:textSize="13sp" />
<Button
android:id="@+id/ListItem_btnSettings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ListItem_btnSharedList"
android:layout_centerHorizontal="true"
android:layout_marginBottom="4dp"
android:layout_marginTop="4dp"
android:background="@drawable/selector_btn_sort_dialog"
android:text="@string/settings"
android:textColor="@android:color/white"
android:textSize="13sp" />
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
什麼是你的佈局?你也可以使用quickaction來達到這個目的https://github.com/evancharlton/quick-actions-demo –
@ Jitesh Upadhyay:dialog_layout.xml可以幫助改變對話框的位置嗎? –
請嘗試使用 –