2015-03-20 2 views
0

У меня возникла проблема с отображением дизайна на разных устройствах. Я не решу эту проблему. Это фото -Я не могу отобразить тот же дизайн на разных телефонах (DialogFragment)

Это 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. Я проверил калькулятор. все так же. но все еще отображается криво. Я попытался использовать вес значений.

EDIT: Все изображения отображаются в нормальном состоянии. Но мой DialogFragment всегда отображается в центре. Мне нужен левый верхний угол. Диалог. Фрагмент всегда находился под кнопкой, и на нем не было ни одного дополнения.

+0

Возможный дубликат [Создание приложения для Android с поддержкой нескольких экранов] (http://stackoverflow.com/questions/22728159/creating-multi-screen-support-app-android) – Simon

ответ

1

Почему бы не попробовать смешать в RelativeLayout? Если вы используете layout_weight, это действительно зависит от размера экрана и плотности от моего понимания, и если вы используете RelativeLayout, возможно, вы можете выровнять их так, как хотите. Подобно использованию его center_horizontal = "true", выше = "@ id/x", ниже = "@ id/y".

Смежные вопросы