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 } }
Utilisation :
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!