1

Я делал много читал на SO и прибегая к помощи повсюду, но до сих пор не может получить мой ответ ... У меня есть этот код:Экран Android не масштабируется правильно, хотя я использовал dp как единицы?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/welcomeRelativeLayout" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/graph_paper" > 

<LinearLayout 
    android:id="@+id/linearLayout2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/first" 
     android:layout_width="40dp" 
     android:layout_height="90dp" 
     android:layout_marginTop="70dp" 
     android:background="@color/Blue" /> 

    <TextView 
     android:id="@+id/second" 
     android:layout_width="40dp" 
     android:layout_height="90dp" 
     android:layout_marginTop="70dp" 
     android:background="@color/Cyan" /> 

    <TextView 
     android:id="@+id/third" 
     android:layout_width="40dp" 
     android:layout_height="90dp" 
     android:layout_marginTop="70dp" 
     android:background="@color/Brown" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="203dp" 
    android:background="@color/Black" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/Yellow" > 

     <ImageView 
      android:id="@+id/welcomeWImageView" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:layout_marginBottom="16dp" 
      android:src="@drawable/w" /> 

     <ImageView 
      android:id="@+id/WelcomeOImageView" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:src="@drawable/o" /> 

     <ImageView 
      android:id="@+id/welcomeRImageView" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:src="@drawable/r" /> 

     <ImageView 
      android:id="@+id/welcomeDImageView" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:src="@drawable/d" /> 
    </LinearLayout> 

    <TextView 
     android:id="@+id/welcomeTextView" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:background="@color/lime" /> 

    <LinearLayout 
     android:id="@+id/LinearLayout01" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/Pink" > 

     <ImageView 
      android:id="@+id/ImageView03" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:layout_marginBottom="16dp" 
      android:src="@drawable/w" /> 

     <ImageView 
      android:id="@+id/ImageView04" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:src="@drawable/o" /> 

     <ImageView 
      android:id="@+id/ImageView01" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:src="@drawable/r" /> 

     <ImageView 
      android:id="@+id/ImageView02" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:src="@drawable/d" /> 
    </LinearLayout> 
</LinearLayout> 

</RelativeLayout> 

Как указано в ответах из разных потоков Я использовал дп как блок масштабирования, но я все равно получаю эти изображения в результате при переходе с разных размеров экрана и разрешения.

здесь различные изображения, которые я получаю на разных размеров экрана и разрешений:

3.7(480x800)

3.7(480x854)

7.0(1024x600)

10.1(1280x800)

почему Арент в текстовые поля растущие пропорционально к размер экрана и разрешение ион? Поскольку они являются текстовыми изображениями без графики, а для устройства используется dp.

Благодарим вас, ребята, загодя.

ответ

1

Я не могу действительно сказать вам точный код XML, чтобы исправить это, но как идея, вам нужно использовать следующие свойства равномерно распределяют область экрана среди ваших просмотров:

android:weightSum  //for your LinearLayout 
android:layout_weight //for your child views 

и в зависимости от ориентации вашего LinearLayout вам необходимо установить одно из следующих значений вашего дочернего представления.

android:layout_height="0dp" 
android:layout_width="0dp" 

Для примера, прочтите this и this.

+0

Но я не хочу равномерно распределять экран между представлениями, но иметь одинаковые пропорции, когда размер экрана больше или разрешение больше обычного. –

+0

То же самое может точно помочь вам в достижении того, что вы ищете – waqaslam

+0

Можете ли вы, пожалуйста, показать мне простой пример, потому что я полностью смущен? –

-1

Вам необходимо создать три разных макета для вашего приложения.
1- папка макета (в основном его для небольших экранов)
2- макет большого (в основном его для больших экранов, таких как 5,0)
3- макета-XLarge (его используется для больших экранов «таблетка»)
в чтобы ваше приложение идеально соответствовало каждому экрану, вы должны создать эти папки. ниже показано, как работать с ним.
1- создать новые два раза в папке res res layout-large и layout-xlarge.
2- скопируйте свой layout.xml из папки макета и вставьте его в каждую созданную вами папку.
3- открыть их, и вы увидите, как они выглядят на больших экранах, а затем просто вам придется немного поменять файл layout.xml в каждой папке.

надеюсь, что вы ищите. это так просто . две дополнительные папки

+0

Но, поскольку вы можете видеть, что первые две картинки не совпадают, но они будут использовать один и тот же макет, поскольку они оба являются экраном нормального размера ... Как вы это исправите? –