我不能在不同的手机上显示相同的设计(DialogFragment)

时间:2015-03-20 08:32:54

标签: android android-layout android-dialogfragment

我在不同设备上显示设计时遇到一些问题。 我不解决这个问题。 这是照片 - enter link description here

这是xml:

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


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="39dp"
        android:layout_marginLeft="39dp"
        android:layout_gravity="center_horizontal"
        android:background="#ffffffff">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="225.75dp"
            >

            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:text="ItemName"
                    android:id="@+id/itemName"
                    android:layout_weight="3"
                    android:paddingTop="14dp"
                    android:paddingLeft="14dp"/>

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:text="ItemPrice"
                    android:id="@+id/itemPrice"
                    android:layout_weight="1"
                    android:paddingRight="14dp"/>
            </LinearLayout>

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="161.75dp"
                android:id="@+id/itemImage"
                android:layout_weight="16"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Buy 1 and Get 2 for free "
                android:id="@+id/textView9"
                android:layout_gravity="center_horizontal"
                android:paddingBottom="25dp"/>

        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="101dp"
            android:layout_gravity="center_horizontal"
            android:background="@drawable/placeholder_blue"
            android:gravity="center_vertical"
            android:paddingTop="26dp"
            android:paddingBottom="26dp">

            <Button
                android:layout_width="49dp"
                android:layout_height="49dp"
                android:text="-"
                android:id="@+id/itemMinus"
                android:layout_marginLeft="48dp"
                android:background="#fff"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="49dp"
                android:text="1"
                android:id="@+id/textView11"
                android:layout_weight="1"
                android:gravity="center_vertical|center_horizontal"
                android:background="#fff"
                android:textAlignment="gravity"/>

            <Button
                android:layout_width="49dp"
                android:layout_height="49dp"
                android:text="+"
                android:id="@+id/itemPlus"
                android:layout_marginRight="48dp"
                android:background="#fff"/>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:background="@android:color/transparent"
        android:paddingTop="38.5dp"
        >

        <ImageButton
            android:layout_width="65.25dp"
            android:layout_height="65.25dp"
            android:id="@+id/itemCancel"
            android:src="@drawable/cancel"
            android:background="@android:color/transparent"
            android:layout_marginRight="12dp"/>

        <ImageButton
            android:layout_width="65.25dp"
            android:layout_height="65.25dp"
            android:id="@+id/itemAdd"
            android:src="@drawable/apply"
            android:background="@android:color/transparent"
            android:layout_marginLeft="12dp"/>

    </LinearLayout>

</LinearLayout>

从左到右照片:

LG g3 - 5" 1280 x 720 294 dpi
samsung galaxy s5 - 5,1" 1080x1920 432 dpi
samsung galaxy note 4 - 5.7" 1440x2560  515 dpi
nexus 6 5.96" 1440x2560 493 dpi

问题是我的DialogFragment在不同的设备上显示设计。我需要把它作为第一部手机(LG g3)。

我做错了什么?我有5个图片文件夹mdpi hdpi xhdpi xxhdpi xxxhdpi。我在Photoshop中剪切了一个脚本。我查了一下计算器。全都一样。但仍显示弯曲。我试图使用值权重。

编辑:所有图片显示正常。但我的DialogFragment始终显示在中心位置。我需要在左上角DialogFragment总是在按钮下面,并且没有填充

1 个答案:

答案 0 :(得分:1)

为什么不尝试在RelativeLayout中混音?如果你使用layout_weight,它实际上取决于我理解的屏幕大小和密度,如果你使用RelativeLayout,也许你可以按照你想要的方式对齐它们。就像使用它的center_horizo​​ntal =&#34; true&#34;,上面=&#34; @ id / x&#34;,下面=&#34; @ id / y&#34;。