Maison > Java > javaDidacticiel > le corps du texte

Comment obtenir une disposition de saut de ligne pour les widgets sous Android ?

Mary-Kate Olsen
Libérer: 2024-11-08 03:01:02
original
138 Les gens l'ont consulté

How to Achieve Line-Breaking Layout for Widgets in Android?

Disposition des widgets de saut de ligne pour Android

Dans ce scénario, vous cherchez à créer une mise en page dans laquelle les widgets représentant des données textuelles peuvent être disposés dans une manière de saut de ligne, similaire au formatage du texte. L'objectif est d'éviter le débordement horizontal et d'assurer un habillage correct de la séquence de widgets pour qu'elle s'adapte à l'espace disponible.

Le code fourni dans la question tente d'obtenir un habillage de mots en utilisant des dispositions et des marges linéaires, mais ce n'est finalement pas le cas. remplir le comportement souhaité. Pour obtenir le résultat souhaité, une mise en page personnalisée est nécessaire.

Voici comment créer un ViewGroup personnalisé qui gère les sauts de ligne pour les widgets :

public class PredicateLayout extends ViewGroup {

    // Stores the height of each line
    private int line_height;

    // Override measurement methods to calculate layout dimensions
    @Override
    protected void onMeasure(...) {
        // Calculate the layout dimensions based on child views and available space
        // Set appropriate dimensions for the layout
    }

    // Override the onLayout method to position child views
    @Override
    protected void onLayout(...) {
        // Iterate through child views and position them accordingly, handling line breaks
    }
}
Copier après la connexion

Utilisation :

  1. Créez une instance de PredicateLayout dans votre activité ou votre mise en page XML.
  2. Ajoutez des vues enfants à la mise en page, représentant les éléments de texte (dans ce cas, les widgets TextView).
  3. La mise en page organisera automatiquement les vues des enfants de manière à sauter les lignes, en les retournant si nécessaire pour les adapter à l'espace disponible.

Résultat :

Le PredicateLayout personnalisé résout le problème du débordement horizontal et fournit des capacités de saut de ligne pour les widgets, ce qui donne une mise en page qui imite visuellement le retour à la ligne de texte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!