将对话框片段放置在屏幕的中心

时间:2013-08-08 16:08:26

标签: android android-layout android-xml android-dialogfragment

我在我的活动中有这个布局,我想在“map_extras”中添加一个对话框片段,但是,对话框片段不会放在屏幕的中心。我做错了什么?

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

    <RelativeLayout
        android:id="@+id/map_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </RelativeLayout>


    <RelativeLayout
        android:id="@+id/map_extras"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </RelativeLayout>

</RelativeLayout>

这是对话框片段布局:

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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="asdf1" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="asdf2" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="asdf3" />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

你到底想要做什么?您在屏幕上显示第一个布局并将第二个布局作为片段放入其中?有些事情需要考虑/尝试:

  • 第一个布局真的填满了屏幕吗?添加背景颜色以进行验证。
  • 您的第二个布局的高度和宽度为wrap_content,因此如果没有另外指定,它将被放置在其父级的左上角。
  • 尝试将map_extras更改为FrameLayout gravity=center而不是RelativeLayout
  • 您还可以将第二个布局尺寸更改为match_parent并将其更改为中心。