Comment pouvons-nous utiliser les valeurs pourcentage pour Android voir les éléments? Quelque chose comme ceci
<TextView
Android:id="@+id/"
Android:layout_width="75%"
Android:layout_height="50%"/>
MISE À JOUR 2018:
PercentRelativeLayout
et PercentFrameLayout
sont obsolètes. Pensez à utiliser ConstraintLayout
Ancienne réponse:
Jusqu'ici Android La bibliothèque de support n'a pas précisé où l'utiliser:
avec RelativeLayout
Android.support.percent.PercentRelativeLayout
avec FrameLayout
Android.support.percent.PercentFrameLayout
Comment l'utiliser?
Bien, assurez-vous d’abord d’inclure la dépendance en build.grade(Module: app)
dans votre Android app.
dependencies {
compile 'com.Android.support:percent:23.3.0'
}
Ensuite, accédez à votre mise en page XML dans cet exemple (.MainActivity)
<Android.support.percent.PercentRelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<Button
Android:id="@+id/button"
Android:text="Button"
Android:layout_height="wrap_content"
Android:layout_alignParentTop="true"
app:layout_widthPercent="30%"/>
<Button
Android:id="@+id/button2"
Android:text="Button 2"
Android:layout_height="wrap_content"
Android:layout_toRightOf="@id/button"
app:layout_widthPercent="60%"/>
<Button
Android:id="@+id/button3"
Android:text="Button 3"
Android:layout_height="wrap_content"
Android:layout_below="@+id/button"
Android:layout_alignParentStart="true"
Android:layout_alignParentLeft="true"
app:layout_widthPercent="90%"/>
</Android.support.percent.PercentRelativeLayout>
Pour plus de détails s'il vous plaît vérifier ici :
La bibliothèque de support vient d'ajouter une disposition en pourcentage.
Cela peut être fait comme ça
<Android.support.percent.PercentFrameLayout
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">
<ImageView
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</Android.support.percent.PercentFrameLayout>
https://developer.Android.com/reference/Android/support/percent/PercentFrameLayout.html
Vous pouvez utiliser PercentRelativeLayout , Il s’agit d’un ajout récent et non documenté à = Bibliothèque de support technique , permet de spécifier non seulement des éléments les uns par rapport aux autres, mais également le pourcentage total de ressources disponibles. espace.
La structure est
<Android.support.percent.PercentRelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
<ImageView
Android:id="@+id/imageview"
Android:layout_gravity="center"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
Android:src="@mipmap/ic_launcher"
Android:background="#cecece"/>
<TextView
Android:id="@+id/textview1"
Android:layout_below="@id/imageview"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
app:layout_marginStartPercent="25%"
app:layout_marginEndPercent="25%"
Android:text="PercentRelativeLayout example"
Android:background="#bebebe"/>
</Android.support.percent.PercentRelativeLayout>
Le package Pourcentage fournit des API permettant de prendre en charge l'ajout et la gestion de dimensions basées sur un pourcentage dans votre application.
Pour l'utiliser, vous devez ajouter cette bibliothèque à your Gradle dependency
liste:
dependencies {
compile 'com.Android.support:percent:22.2.0'
// or compile 'com.Android.support:percent:23.1.0'
}
Pour des raisons de démonstration, vous pouvez visiter Git Android-percent-support-lib-sample .
Avec PercentFrameLayout
et PercentRelativeLayout
à la fois dépréciés dans 26.0.0, vous devez utiliser ConstraintLayout
pour dimensionner votre TextView avec des valeurs en pourcentage.
ConstraintLayout
est un outil vraiment puissant pour créer une interface utilisateur réactive pour la Android, vous pouvez trouver plus de détails ici Construire une interface utilisateur réactive avec ConstraintLayout .
Voici l'exemple de la taille de votre TextView (w = 75%, h = 50%) à l'aide de ConstraintLayout:
<Android.support.constraint.ConstraintLayout
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">
<Android.support.constraint.Guideline
Android:id="@+id/ver_guideline"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical"
app:layout_constraintGuide_percent="0.75"/>
<Android.support.constraint.Guideline
Android:id="@+id/hor_guideline"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
app:layout_constraintGuide_percent="0.5"/>
<TextView
Android:layout_width="0dp"
Android:layout_height="0dp"
Android:layout_marginBottom="0dp"
Android:layout_marginEnd="0dp"
Android:layout_marginStart="0dp"
Android:layout_marginTop="0dp"
app:layout_constraintBottom_toTopOf="@+id/hor_guideline"
app:layout_constraintEnd_toStartOf="@+id/ver_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</Android.support.constraint.ConstraintLayout>
N'oubliez pas d'ajouter constraint-layout
_ dépendance à votre module build.gradle
fichier
dependencies {
...
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
...
}
Ou éditez votre mise en page directement dans l'éditeur de mise en page, comme indiqué ci-dessous:
En conséquence, votre TextView
largeur correspond à 75% de la largeur du parent et sa hauteur à 50% de la hauteur du parent:
Google a une nouvelle API appelée Android.support.percent
Exemple PercentRelativeLayout
<Android.support.percent.PercentFrameLayout
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:id="@+id/myTextView"
app:layout_widthPercent="75%"
app:layout_heightPercent="50%"/>
</Android.support.percent.PercentFrameLayout>
Vous pouvez utiliser PercentRelativeLayout
. Il s'agit d'une sous-classe de RelativeLayout
qui prend en charge les dimensions et les marges en pourcentage.
Pour l'utiliser, vous devez ajouter cette bibliothèque à votre Gradle dependency
:
dependencies {
compile 'com.Android.support:percent:23.1.0'
}
La structure de l'échantillon est
<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">
<ImageView
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</Android.support.percent.PercentRelativeLayout>