Как установить разные проценты для мобильных и планшетов
Я в настоящее время использую API android.support.percent
Мой пример кода
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<TextView
android:text="Completed"
app:layout_widthPercent="40%"
app:layout_heightPercent="40%"
app:layout_marginTopPercent="15%"
app:layout_marginLeftPercent="15%"/>
</android.support.percent.PercentRelativeLayout/>
Моя проблема:
Относительная относительная компоновка в процентах соответствует в планшетах... Но некоторые виды очень малы в мобильном телефоне.
Поэтому я хочу увеличить процент только для телефона.. не планшетов.
Мой вопрос:
Как установить разные проценты для телефонов и планшетов, используя проценты относительного расположения (например, разные размеры)
app: layout_heightPercent = "40%" // подходит для планшета Но я хочу увеличить до 50% для телефона..
3 ответа
Вы можете использовать наименьшие размеры ширины
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<TextView
android:text="Completed"
app:layout_widthPercent="@fraction/width"
app:layout_heightPercent="@fraction/height"
app:layout_marginTopPercent="@fraction/margin_top"
app:layout_marginLeftPercent="@fraction/margin_left"/>
</android.support.percent.PercentRelativeLayout/>
и в размерах:
dimens.xml
<fraction name="width">40%</fraction>
<fraction name="height">40%</fraction>
<fraction name="margin_top">15%</fraction>
<fraction name="margin_left">15%</fraction>
и sizess.xml (sw 600dp)
<fraction name="width">40%</fraction>
<fraction name="height">50%</fraction>
<fraction name="margin_top">15%</fraction>
<fraction name="margin_left">15%</fraction>
Вы можете увидеть больше деталей для дизайна экрана здесь
Вы должны взглянуть на мой ответ прямо здесь /questions/25440712/kak-zastavit-prilozhenie-android-rabotat-v-raznyih-razresheniyah/25440717#25440717
Размер планшета большой, поэтому используйте текущий макет с процентами с помощью квалификатора "Large" или "X Large" и создайте другой без квалификатора или "Normal" для мобильного телефона, где вы можете изменить размер своего представления.
Для временного решения вы можете использовать разные папки макетов для разных экранов. Для макета телефона папка и для планшета макет-большой.
screen.xml для папки макета
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<TextView
android:text="Completed"
app:layout_widthPercent="40%"
app:layout_heightPercent="40%"
app:layout_marginTopPercent="15%"
app:layout_marginLeftPercent="15%"/>
</android.support.percent.PercentRelativeLayout/>
screen.xml для макета большой папки
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<TextView
android:text="Completed"
app:layout_widthPercent="80%"
app:layout_heightPercent="80%"
app:layout_marginTopPercent="30%"
app:layout_marginLeftPercent="30%"/>
</android.support.percent.PercentRelativeLayout/>