2016-07-07 1 views
0

dans mon application je rencontre ce problème: enter image description hereRégler la hauteur maximale de la colonne en GridLayout pour éviter le chevauchement

Comme vous pouvez le voir, j'ai ajouté l'option de laisser l'utilisation spécifier un nom dans un texte d'édition dans un AlertDialog. Hypotétiquement, l'utilisateur peut entrer un nom extrêmement long, ruinant toute la mise en page car les lignes suivantes se chevauchent. Comment puis-je entrer une hauteur et une largeur spécifiées pour chaque ligne?

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/gridview" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:columnWidth="90dp" 
      android:numColumns="auto_fit" 
      android:verticalSpacing="10dp" 
      android:horizontalSpacing="10dp" 
      android:stretchMode="columnWidth" 
      android:gravity="center" 
      android:longClickable="true" 
    /> 

grid_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<!-- Layout for a single list item --> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center_vertical" 
       android:orientation="horizontal" 
       android:minHeight="?android:attr/listPreferredItemHeight" 
       android:padding="16dp"> 



     <TextView 
      android:id="@+id/text_1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      tools:text="test text" 
      /> 


</LinearLayout> 
+0

Afficher les fichiers XML de votre modèle. – Drv

+0

Bien sûr, j'ai ajouté ceux-ci. – Ddddddd

Répondre

0

Donnez une certaine hauteur à votre parent de l'élément de ligne ou textview comme ci-dessous:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:gravity="center_vertical" 
      android:orientation="horizontal" 
      android:minHeight="?android:attr/listPreferredItemHeight" 
      android:padding="16dp"> 



    <TextView 
     android:id="@+id/text_1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     tools:text="test text" 
     /> 


</LinearLayout> 

Ou setHeight de votre textview ou donner maxlines

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:orientation="horizontal" 
      android:minHeight="?android:attr/listPreferredItemHeight" 
      android:padding="16dp"> 



    <TextView 
     android:id="@+id/text_1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:maxLines="6" 
     android:minLines="6" 
     tools:text="test text" 
     /> 


    </LinearLayout> 
+0

Merci, est-ce que je pourrais ellipsiser le texte puisqu'il est coupé directement? – Ddddddd