2015-06-16 2 views
0

Если я хочу поддерживать несколько размеров экрана, я работаю с размерами малыми, нормальными, большими и большими. Это прекрасно работает в портретном модусе, но не в ландшафтном модусе. Например, если я создаю макет для 3,2-дюймового устройства в ландшафтном модуле, тот же код не подходит для 3,3-дюймового устройства в ландшафтном модуле. Потому что он выглядит несимметричным в 3,3-дюймовом устройстве. Что я делаю неправильно ?!Eclipse Layout: Как поддерживать несколько экранов в ландшафтном режиме?

Как я уже сказал: я использую тот же код для 3,2 "и 3,3" устройства (RelativeLayout):

<Button 
    android:id="@+id/Button01" 
    android:layout_width="150dp" 
    android:layout_height="75dp" 
    android:layout_alignLeft="@+id/button1" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="50dp" 
    android:text="Button" /> 

<Button 
    android:id="@+id/Button02" 
    android:layout_width="150dp" 
    android:layout_height="75dp" 
    android:layout_alignBaseline="@+id/button1" 
    android:layout_alignBottom="@+id/button1" 
    android:layout_marginLeft="25dp" 
    android:layout_toRightOf="@+id/button1" 
    android:text="Button" /> 

<Button 
    android:id="@+id/Button03" 
    android:layout_width="150dp" 
    android:layout_height="75dp" 
    android:layout_alignBaseline="@+id/Button01" 
    android:layout_alignBottom="@+id/Button01" 
    android:layout_alignLeft="@+id/Button02" 
    android:text="Button" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="150dp" 
    android:layout_height="75dp" 
    android:layout_above="@+id/Button01" 
    android:layout_alignParentLeft="true" 
    android:layout_marginBottom="46dp" 
    android:layout_marginLeft="78dp" 
    android:text="Button" /> 

ответ

0

для поддержки множественного экрана вы должны добавить фрагменты в вашей деятельности. ты просто programming.You нужно реализовать Fragments.

Для этого визита это и опробовать учебники

http://developer.android.com/guide/components/fragments.html

и

https://developer.android.com/training/basics/fragments/index.html

Здесь вы можете найти образец фрагментов.

Все самое лучшее.

0

Я сделал это, поймав высоту и ширину окна времени исполнения, и предложили, как это сделать без каких-либо сложностей 1. Используйте относительную компоновку и сохраните ссылочный идентификатор. 2. Применяйте процент высоты или ширины к компоненту. Пример:

WindowManager wm = (WindowManager) context 
       .getSystemService(context.WINDOW_SERVICE); 
     Display display = wm.getDefaultDisplay(); 
     DisplayMetrics metrics = new DisplayMetrics(); 
     display.getMetrics(metrics); 
     int width = metrics.widthPixels; 
     int height = metrics.heightPixels; 

активности компонентов ручки пользовательского интерфейса:

textView.setWidth(getSize(screenWidth, 30)); 
    textView.setHeight(getSize(screenHeight, 13)); 
    textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getSize(screenHeight, 6)); 


public static int getSize(int screenSize, double percentage) { 
    return (int) ((screenSize * percentage)/100); 
} 

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

  • Нет связанных вопросов^_^