0

Je voudrais avoir un tablellayout avec 3 lignes et 4 colonnes.Mise en page de tableau Android dernière rangée plus petite

Les deux premières lignes sont correctes mais la dernière est beaucoup trop petite que les autres.

Je l'ai essayé avec un téléphone de taille d'écran 5.5 (Samsung Galaxy Note 2), où les lignes sont presque la même hauteur, mais sur une tablette de 9,6 pouces (Samsung Galaxy Tab E), la dernière rangée est très petite. Qu'est-ce que je fais mal?

J'ai également joint mon fichier Layout et une capture d'écran avec la mise en page actuelle.

Mon code:

<?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:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/domestic" 
    android:orientation="vertical"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:layout_margin="5sp" 
     android:gravity="center" 
     android:background="@drawable/rounded_corner_start"> 

     <TableLayout 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:measureWithLargestChild="true" 
      android:stretchColumns="*"> 

      <!-- Row with 4 columns --> 
      <TableRow 
       android:layout_height="0dp" 
       android:layout_width="match_parent" 
       android:layout_weight="1"> 
       <!--Kutya--> 
       <LinearLayout 
        android:id="@+id/lnDog" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_margin="3sp" 
        android:orientation="vertical" 
        android:background="@drawable/rounded_corner_elements" 
        android:layout_weight="1"> 
        <ImageView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:layout_weight="0.8" 
         android:src="@drawable/dog"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:fontFamily="sans-serif-thin|bold" 
         android:text="@string/dog" 
         android:gravity="center" 
         android:layout_weight="0.2" /> 
       </LinearLayout> 
       <!--Macska--> 
       <LinearLayout 
        android:id="@+id/lnCat" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_margin="3sp" 
        android:orientation="vertical" 
        android:background="@drawable/rounded_corner_elements" 
        android:layout_weight="1"> 
        <ImageView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:layout_weight="0.8" 
         android:src="@drawable/cat2"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:fontFamily="sans-serif-thin|bold" 
         android:text="@string/cat" 
         android:gravity="center" 
         android:layout_weight="0.2" /> 
       </LinearLayout> 
       <!--Diszno--> 
       <LinearLayout 
        android:id="@+id/lnPig" 
        android:layout_width="0dp" 
        android:layout_margin="3sp" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" 
        android:background="@drawable/rounded_corner_elements" 
        android:layout_weight="1"> 
        <ImageView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:layout_weight="0.8" 
         android:src="@drawable/pig"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:fontFamily="sans-serif-thin|bold" 
         android:text="@string/pig" 
         android:gravity="center" 
         android:layout_weight="0.2" /> 
       </LinearLayout> 
       <!--Tyuk--> 
       <LinearLayout 
        android:id="@+id/lnChicken" 
        android:layout_width="0dp" 
        android:layout_margin="3sp" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" 
        android:background="@drawable/rounded_corner_elements" 
        android:layout_weight="1"> 
        <ImageView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:layout_weight="0.8" 
         android:src="@drawable/chicken"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="0dp" 
         android:fontFamily="sans-serif-thin|bold" 
         android:text="@string/chicken" 
         android:gravity="center" 
         android:layout_weight="0.2" /> 
       </LinearLayout> 
      </TableRow> 
      .... 
      4 times 
     </TableLayout> 
    </LinearLayout> 
</LinearLayout> 

9.6 inch tablet

Répondre

0

Donc, finalement je me suis dit que ce toutes les images doivent avoir la même hauteur, puis toutes les lignes ont la même hauteur. C'est étrange parce que je m'attendais à ce qu'en réglant le poids du tablerow, le contenu interne se redimensionne automatiquement.