2013-08-02 4 views
3

Ну, у меня есть activity.xml i, у которого есть фоновое изображение и кнопка, которая также имеет фоновое изображение, хорошо работает на обычном экране, но когда я запускаю ее на xlarge или большой экран положение кнопки изменяетКак сделать приложение для Android подходящим для всех размеров экрана

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" 
    android:background="@drawable/menu" 
    android:layout_margin="@dimen/my_view_margin" 
    > 

    <LinearLayout 
     android:layout_width="300px" 
     android:layout_height="200px" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="172dp" 
     android:orientation="vertical" > 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="60px" 
      android:background="@drawable/bt" 
      android:text="Button" /> 
    </LinearLayout> 

</RelativeLayout> 

это код выше и ниже изображения различного экрана

наклоняет добавить изображения вызывают оленья кожа имеет достаточно репутации

+0

Для начала, вы хотите, чтобы начать использовать 'dp' значения вместо' px' значений. И, прочитайте эти ссылки. Достаточно того, чтобы добиться того, что вы ищете. http://developer.android.com/guide/practices/screens_support.html и http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html –

+1

Да использовать dp вместо px .. И почему этот линейный внутри Relative? И не фиксируйте высоту, ширину это проблема с более крупным устройством. –

+0

Попробуйте мой ответ, он должен работать на всех устройствах. –

ответ

0

Используйте Относительные макеты, рисовать- изображений. А для приложений высокого качества вы можете создавать разные XML-макеты разметки для всех 4 размеров экрана. http://developer.android.com/guide/practices/screens_support.html Используйте эту ссылку для получения дополнительной информации.

0
<supports-screens android:smallScreens="true" 
      android:normalScreens="true" 
      android:largeScreens="true" 
      android:xlargeScreens="true" 
      android:anyDensity="true" /> 

Добавьте это в файл манифеста приложения.

+1

Это не проблема .. Проблема с компоновкой. Если пользовательский интерфейс не поддерживается, он может Ничего ... –

+0

Это все? Что-нибудь еще в манифесте? –

1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="@dimen/my_view_margin" 
    android:background="@drawable/menu" 
    tools:context=".MainActivity" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_marginTop="170dp" 
     android:layout_centerHorizontal="true" 
     android:background="@drawable/bt" 
     android:text="Button" /> 

</RelativeLayout> 
0

Простой, используйте относительную компоновку с заданным кодом запаса. Установите поля между каждым текстовым видом, кнопкой и т. Д., И он будет выглядеть одинаково на каждом телефоне.

android:layout_marginTop="10dp" 
// change Top to Bottom, Left or Right for what you need. 
5

Использование веса для всех раскладок вместо давать постоянные значения, потому что вес типа% для screen.In манифеста на экранной поддержку по умолчанию верно.

и если какой-либо раз вы думаете, это не представляется возможным, чем добавлять значения Dimens {папка содержит dimens.xml}

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