Android对话框的高度和宽度表现出乎意料

时间:2014-11-12 12:12:47

标签: android xml

当我运行意外行为的代码时,我现在有自定义对话框。它缩小了它的高度和宽度。所以请帮助我获得布局文件中指定的实际宽度和高度。 自定义对话框的xml添加在

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center" >

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="30dp"
        android:src="@drawable/plainwhite" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="10" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="3"
        android:gravity="center" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/plainwhite" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="7"
        android:orientation="vertical" >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="FLIGHT DETAILS" />

        <TextView
            android:id="@+id/placeTravel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Kannur - Trivandrum" />

        <TextView
            android:id="@+id/dateOfTravel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="wed, dec-10 " />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:weightSum="10" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="4"
                android:text="Depart" />

            <TextView
                android:id="@+id/departTV"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="6"
                android:hint=":Kannur" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="10" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="4"
                android:text="Arrive" />

            <TextView
                android:id="@+id/arriveTV"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="6"
                android:hint=":Trivandrum" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="10" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="4"
                android:text="Duration" />

            <TextView
                android:id="@+id/durationTV"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="6"
                android:hint=":02h 15m nonstop" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="10" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="4"
                android:text="Price" />

            <TextView
                android:id="@+id/travelPriceTV"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="6"
                android:hint=":$450 per Adult" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="10" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="4" />

            <TextView
                android:id="@+id/planType"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="6"
                android:hint="(Non refundable)" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

</LinearLayout>

调用对话框的代码添加在

下面
    Dialog dialog = new Dialog(context, R.style.customDialogStyle);
    dialog.setContentView(R.layout.flight_info_dialog);

我得到的内容如下所示

enter image description here

任何帮助都会很明显

下面添加了customdialogStyle代码

<style name="customDialogStyle" parent="@android:style/Theme.Holo.Dialog.NoActionBar">
    <item name="android:windowNoTitle">true</item>
</style>

2 个答案:

答案 0 :(得分:3)

最后我发现在相对布局中添加主线性布局的解决方案解决了问题。添加了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"
>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#143849"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="30dp"
            android:src="@drawable/plainwhite" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="10" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3"
            android:gravity="center" >

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:src="@drawable/plainwhite" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="7"
            android:orientation="vertical" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="FLIGHT DETAILS" />

            <TextView
                android:id="@+id/placeTravel"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Kannur - Trivandrum" />

            <TextView
                android:id="@+id/dateOfTravel"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="wed, dec-10 " />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:weightSum="10" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="4"
                    android:text="Depart" />

                <TextView
                    android:id="@+id/departTV"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="6"
                    android:hint=":Kannur" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:weightSum="10" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="4"
                    android:text="Arrive" />

                <TextView
                    android:id="@+id/arriveTV"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="6"
                    android:hint=":Trivandrum" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:weightSum="10" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="4"
                    android:text="Duration" />

                <TextView
                    android:id="@+id/durationTV"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="6"
                    android:hint=":02h 15m nonstop" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:weightSum="10" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="4"
                    android:text="Price" />

                <TextView
                    android:id="@+id/travelPriceTV"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="6"
                    android:hint=":$450 per Adult" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:weightSum="10" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="4" />

                <TextView
                    android:id="@+id/planType"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="6"
                    android:hint="(Non refundable)" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

</RelativeLayout>

答案 1 :(得分:0)

如果我理解了你的目标,那么你的风格就需要这样的东西:

<style name="customDialogStyle" parent="@android:style/Theme.Holo.Dialog.NoActionBar">
    <item name="android:windowIsFloating">true</item>
    <!-- item name="android:windowBackground">#00000000</item -->
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>