Android DialogFragment布局,奇数额外空格

时间:2013-12-01 03:21:19

标签: android layout dialogfragment

所以在为一个简单的“有用户选择”弹出窗口制作一个dialogfragment之后,我把它加载起来,在布局中看到一些奇怪的额外空格,我不确定是什么导致它,我一直在骚扰我大脑试图搞清楚。我稍微修改了xml以更好地显示行为,唯一的区别是我已将3个垂直部分的宽度从“match_parent”更改为“wrap_content”,因此我可以使用边框来显示空白的实际大小。这是一张显示问题的图片:

the problem

这是我的xml:

<?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" >

    <TextView
        android:id="@+id/pictureSourceMainTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/tvborder"
        android:gravity="center"
        android:text="Where would you like to choose\nyour image from?"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <LinearLayout
        android:id="@+id/pictureSourceIVLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/tvborder"
        android:weightSum="3" >

        <ImageView
            android:id="@+id/pictureSourceCancelIV"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/pictureSourceGalleryIV"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/pictureSourceCameraIV"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/pictureSourceTVLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:weightSum="3" >

        <TextView
            android:id="@+id/pictureSourceCancelTV"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/tvborder"
            android:gravity="center"
            android:text="Cancel" />

        <TextView
            android:id="@+id/pictureSourceGalleryTV"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/tvborder"
            android:gravity="center"
            android:text="Gallery" />

        <TextView
            android:id="@+id/pictureSourceCameraTV"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/tvborder"
            android:gravity="center"
            android:text="Camera" />
    </LinearLayout>

</LinearLayout>

所以我的问题是:我该怎么做才能删除这个额外的空格?我的xml布局缺少什么吗?我可以每次手动设置宽度的大小,但我更倾向于窗口本身实际上是“wrap_content”

编辑:事实证明调整大小是由标题引起的,有没有办法将标题缩小到合适的大小?

2 个答案:

答案 0 :(得分:12)

罪魁祸首是头衔。设定:

getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE); 

在我的对话框中的oncreateview修复了所有尺寸问题,我只是在顶部添加了一个新的imageview并在photoshop中设计了我自己的标题。

答案 1 :(得分:0)

android:layout_width的{​​{1}}更改为TextView。 您还可以将"fill_parent"添加到外部android:gravity="center"