Android 3.1 对话框大小不合适

标签 android dialog android-3.0-honeycomb

我正在我的应用程序中创建一个自定义对话框,它在布局编辑器中看起来不错,但在设备上尺寸不正确。这是对话框的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:background="@drawable/dialog_border"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/image"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerHorizontal="true"
        android:padding="10dp"
        android:src="@drawable/wifi" />
    <TextView
        android:layout_height="wrap_content"
        android:id="@+id/heading"
        android:layout_below="@+id/image"
        android:layout_width="wrap_content"
        android:layout_margin="10dp"
        android:layout_alignLeft="@+id/cancel_button"
        android:layout_alignRight="@+id/continue_button"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/lost_connection"
        android:layout_centerHorizontal="true" />
    <TextView
        android:layout_height="wrap_content"
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_below="@+id/heading"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_centerHorizontal="true"
        android:layout_alignLeft="@+id/cancel_button"
        android:layout_alignRight="@+id/continue_button"
        android:gravity="center"
        android:layout_margin="10dp"
        android:text="@string/try_again" />
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_toRightOf="@+id/cancel_button"
        android:layout_below="@+id/description"
        android:layout_centerHorizontal="true"
        android:id="@+id/dismiss_button"
        android:text="@string/dismiss" />
</RelativeLayout>

这就是布局编辑器中的样子: Layout Editor

但这就是它在设备上的样子: Device

它的顶部和右侧有一些奇怪的额外空间,并且按钮是垂直压缩的。

最佳答案

该空白区域是对话框标题。创建 DialogFragment 时可以将其关闭,如下所示:

DialogFragment df = new MyDialogFragment();
df.setStyle(DialogFragment.STYLE_NO_TITLE, 0);
df.show(ft, "dialog");

其中设置样式中的0允许平台选择适当的样式,而“dialog”是您要为对话框 fragment 设置的任何标签。

关于Android 3.1 对话框大小不合适,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6256759/

相关文章:

android - 如何更改 TextView 上的某些特定字符?

java - 在 Android 中解析多个段落标签中的文本

java - android findViewById 在 LinearLayout 中为 null

android - 如何隐藏 Android 平板电脑中的菜单栏?

android - 蜂窝和向后兼容性的策略

java - 对于涉及复杂Android功能的游戏,选择unity还是native java

jsf - p :commandButton action not working in p:confirmDialog

c++ - Qt5 的分步对话框

android - 如何在 `Theme.Sherlock.Dialog` 中隐藏标题?

android - 为 hive 制作的应用程序可以在 Gingerbread 中使用吗?