Как использовать Percentage для макета Android?

Как мы можем использовать процентные значения для элементов представления Android? что-то вроде этого

 

ОБНОВЛЕНИЕ 2018:

PercentRelativeLayout и PercentFrameLayout устарели. Рассмотрите возможность использования ConstraintLayout

Старый ответ:

В настоящее время библиотека поддержки Android ограничена тем, где ее использовать:

  1. с RelativeLayout

     android.support.percent.PercentRelativeLayout 
  2. с FrameLayout

     android.support.percent.PercentFrameLayout 

Как это использовать?

Сначала убедитесь, что вы включили зависимость в build.grade(Module: app)

 dependencies { compile 'com.android.support:percent:23.3.0' } 

Затем перейдите в свой XML-макет в этом примере (.MainActivity)

      

Подробную информацию можно найти здесь :

В библиотеке поддержки добавлен процентный макет.

Это можно сделать так

     

https://developer.android.com/reference/android/support/percent/PercentFrameLayout.html

Вы можете использовать PercentRelativeLayout , это недавнее недокументированное дополнение к Библиотеке поддержки дизайна , позволяет указывать не только элементы по отношению друг к другу, но и общий процент доступного пространства.

Структура

     

Пакет Percent предоставляет API-интерфейсы для поддержки добавления и управления размерами в процентах в вашем приложении.

Чтобы использовать эту библиотеку, вам нужно добавить эту библиотеку в your Gradle dependency список your Gradle dependency :

 dependencies { compile 'com.android.support:percent:22.2.0' // or compile 'com.android.support:percent:23.1.0' } 

Для демонстрационной цели вы можете посетить Git android-percent-support-lib-sample .

Если оба значения PercentFrameLayout и PercentRelativeLayout будут исправлены в 26.0.0, вам необходимо использовать ConstraintLayout для определения размера вашего TextView с процентными значениями.

ConstraintLayout – действительно мощный инструмент для создания адаптивного интерфейса для платформы Android, здесь вы можете найти более подробную информацию. Создайте отзывчивый интерфейс с помощью ConstraintLayout .

Вот пример, как resize TextView (w = 75%, h = 50%) с помощью ConstraintLayout:

      

Не забудьте добавить зависимость зависимости constraint-layout к вашему модулю build.gradle file

 dependencies { ... implementation 'com.android.support.constraint:constraint-layout:1.0.2' ... } 

Или отредактируйте свой макет непосредственно в редакторе макетов, как показано ниже:

Редактор макета

В результате ваша ширина TextView составляет 75% от родительской ширины, а высота – 50% от родительской высоты:

Изображение-1

Image-2

Google имеет новый API под названием android.support.percent

Пример PercentRelativeLayout

     

Вы можете использовать PercentRelativeLayout Это подclass RelativeLayout который поддерживает размеры и поля на основе процентов.

Чтобы использовать эту библиотеку, вам нужно добавить эту библиотеку в свою Gradle dependency :

 dependencies { compile 'com.android.support:percent:23.1.0' } 

Структура выборки

    
Давайте будем гением компьютера.