Масштабирование макета под планшеты в студии android - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в студии android и в настоящее время работаю над приложением, которое показывает фон вне космоса и несколько планет на экране. При запуске этого приложения на телефоне оно работает нормально и отображает планеты, разбросанные по всему экрану. Однако при запуске этого приложения на планшете все изображения сгруппированы вместе в левой части экрана (размером примерно с весь экран телефона). У меня есть представление о том, почему это происходит, но я не знаю, как это исправить. Каждое изображение имеет: (hdpi, ldpi, mdpi, xhdpi, xxhdpi, xxxhdpi) размеры экрана, доступные в папке 'drawable'.

activity_gameview. xml - это файл макета, который запускается, чтобы показать пользователю планеты. Ниже я покажу немного своего кода, показывающего, как эти изображения отображаются на экране:

<ImageView
    android:id="@+id/imageView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="centerCrop"
    app:srcCompat="@drawable/star_background" />


<TextView
    android:id="@+id/fullscreen_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:keepScreenOn="true"
    android:textColor="#33b5e5"
    android:textSize="50sp"
    android:textStyle="bold" />

<!-- This FrameLayout insets its children based on system windows using
     android:fitsSystemWindows. -->
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageButton
            android:id="@+id/sun_button"
            android:layout_width="250dp"
            android:layout_height="280dp"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="-170dp"
            android:layout_centerVertical="true"
            android:background="@null"
            android:scaleType="centerCrop"
            android:src="@drawable/sun" />

        <ImageButton
            android:id="@+id/mercury_button"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/mercury"
            android:scaleType="centerInside"
            android:layout_toRightOf="@+id/sun_button"
            android:layout_marginLeft="-30dp"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="25dp"
            android:src="@drawable/question_mark" />

Для планет появляется гораздо больше кнопок, чем показанная выше, но вы поняли идею. Мне кажется, что эти изображения жестко запрограммированы, поэтому они появляются на экране планшета примерно того же размера, что и на телефоне.

Что я могу сделать, чтобы изображения на экране выглядели пропорционально на планшете, как на телефоне ???

...