所以在为一个简单的“有用户选择”弹出窗口制作一个dialogfragment
之后,我把它加载起来,在布局中看到一些奇怪的额外空格,我不确定是什么导致它,我一直在骚扰我大脑试图搞清楚。我稍微修改了xml以更好地显示行为,唯一的区别是我已将3个垂直部分的宽度从“match_parent”更改为“wrap_content”,因此我可以使用边框来显示空白的实际大小。这是一张显示问题的图片:
这是我的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”
编辑:事实证明调整大小是由标题引起的,有没有办法将标题缩小到合适的大小?
答案 0 :(得分:12)
罪魁祸首是头衔。设定:
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
在我的对话框中的oncreateview
修复了所有尺寸问题,我只是在顶部添加了一个新的imageview
并在photoshop中设计了我自己的标题。
答案 1 :(得分:0)
将android:layout_width
的{{1}}更改为TextView
。
您还可以将"fill_parent"
添加到外部android:gravity="center"