0
votes

Comment ajuster dynamiquement la taille du texte et les marges pour différentes tailles d'écran?

Je développe une application Android à l'aide du contraintlayout code>. Il montre correctement sur différentes tailles d'écran, cependant, je voudrais que les Views augmentent de taille et d'espacement entre les éléments pour tirer parti de l'immobilier d'écran plus grand sur des téléphones à écran plus gros.

J'ai lu que vous pouvez créer différents Dispositions XML pour différentes densités ou tailles (XXHDPI, XDPI), mais je pensais que l'un des principaux avantages de contraintlayout code> sur des mises en page relatif était qu'elle ajuste automatiquement l'espacement / la taille. Pouvez-vous faire cela avec une mise en page de contrainte ou devez-vous créer des dispositions XML individuelles pour chaque taille / densité d'écran? Merci! P>

<android.support.constraint.ConstraintLayout 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"
    tools:context=".MainActivity"
    tools:layout_editor_absoluteY="81dp">

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="19dp"
        android:backgroundTint="@color/colorAccent"
        app:layout_constraintBottom_toTopOf="@+id/inView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/lbsView"
        app:layout_constraintTop_toTopOf="parent" />


    <TextView
        android:id="@+id/weightView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="27dp"
        android:layout_marginTop="21dp"
        android:layout_marginEnd="14dp"
        android:text="Weight:"
        android:textSize="26sp"
        app:layout_constraintEnd_toStartOf="@+id/weight"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


2 commentaires

Vous devez comprendre ce Concept et suivez Ce lien


Vérifiez cette réponse ici Stackoverflow.com/a/58349912/3141738


3 Réponses :


0
votes

Mettez vos valeurs de marge dans dimens.xml , à partir de là, vous pouvez régler la taille en différentes formes d'écran, telles que valeurs-HDPI , valeurs-xhdpi` ,.

Dans valeurs-hdpi / dimens.xml xxx

in valeurs-xhdpi / dimens.xml xxx

et dans votre fichier XML: xxx


0 commentaires

0
votes

Vous pouvez une taille différente pour votre Tex à l'aide de valeurs ...

SW: la taille fondamentale d'un écran, comme indiqué par la dimension la plus courte de la zone d'écran disponible. Spécifiquement, le plus petit dépendant de l'appareil est le plus court de la hauteur et de la largeur disponibles de l'écran (vous pouvez également y penser comme la "plus petite largeur possible" pour l'écran). Vous pouvez utiliser ce qualificatif pour vous assurer que, quelle que soit l'orientation actuelle de l'écran, votre application a au moins DPS de largeur disponible pour IT UI.

Exemple: Confidons 3 Tapez Différente mise en page, petite, moyenne, grande xxx

Entrez la description de l'image ici


0 commentaires

0
votes

comme @Farid a dit .. Vous pouvez utiliser des dimens pour différentes tailles de deux périphériques.

Ce Question est également utile pour que vous compreniez dimens.

Si vous ne voulez pas déclarer dimens pour chaque taille, vous pouvez utiliser cette bibliothèque SDP & SSP .


0 commentaires