2017-06-24 2 views
0

J'essaie de créer une table dans Android. Je suis vraiment très loin, mais j'ai des problèmes avec le HeadLineSum et le BodySum qui ne flottent pas horizontalement à l'extrême droite. J'ai fait une mise en page Excel pour montrer ce que je voulais vraiment.Table text align right

enter image description here

Et ce que j'ai réussi à créer. enter image description here

My Android Code Mise en page:

<!-- Breakfast --> 
     <TableLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 

      <TableRow 
       android:id="@+id/tableRowHeadlineBreakfast" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"> 

       <ImageView 
        android:id="@+id/imageViewAddBreakfast" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        app:srcCompat="@drawable/ic_menu_add" /> 

       <TextView 
        android:id="@+id/textViewHeadlineBreakfast" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="80" 
        android:text="@string/breakfast" 
        android:textSize="18sp" /> 

       <TextView 
        android:id="@+id/textViewEnergyBreakfast" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:layout_weight="10" 
        android:text="@string/energy" 
        android:textSize="18sp" /> 
      </TableRow> 
     </TableLayout> 
    <TableLayout 
     android:id="@+id/tableLayoutBreakfastItems" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

     <TableRow 
      android:id="@+id/tableRowBreakfastItems" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 

      <TextView 
       android:id="@+id/textViewBreakfastItemsName" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="80" 
       android:text="@string/name" 
       android:textSize="18sp" /> 

      <TextView 
       android:id="@+id/textViewBreakfastItemsEnergy" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_weight="10" 
       android:text="@string/energy" 
       android:textSize="18sp" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRowBreakfastItemsSub" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 

      <TextView 
       android:id="@+id/textViewBreakfastItemsSub" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/name" /> 

     </TableRow> 

    </TableLayout> 
    <!-- //Breakfast --> 

Répondre

1

Table mise en page est trop ancienne technique pour réaliser ce type de conception vous devez utiliser LinearLayout pour même.

Si vous voulez encore atteindre ce type de conception à l'aide TableLayout il suffit de copier coller mon code

Voici mon code

Première créer border.xml fichier dans le dossier drawable

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 

    <stroke android:width="1dp" android:color="#fff" /> 

</shape> 

puis copier coller thi s Code main_activity.xml

<?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_table_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/colorPrimary" 
    android:orientation="vertical" 
    tools:context="com.example.dhruv.demovolleyjson.TableLayout"> 


    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <ImageView 
       android:layout_width="40dp" 
       android:layout_height="40dp" 

       android:background="@drawable/border" 
       android:padding="5dp" 
       android:src="@mipmap/ic_launcher" /> 

      <TextView 
       android:id="@+id/textViewHeadlineBreakfast" 
       android:layout_width="match_parent" 

       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:background="@drawable/border" 
       android:gravity="center_vertical" 
       android:padding="5dp" 
       android:text="Breakfast" 
       android:textColor="#fff" 
       android:textSize="20sp" /> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 

       android:layout_gravity="right" 
       android:background="@drawable/border" 
       android:gravity="center" 
       android:padding="5dp" 
       android:text="Energy" 
       android:textColor="#fff" 
       android:textSize="20sp" /> 

     </TableRow> 

    </TableLayout> 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="40dp"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="40dp" 

       android:layout_weight="1" 
       android:background="@drawable/border" 
       android:gravity="center_vertical" 
       android:padding="5dp" 
       android:text="Name" 
       android:textColor="#fff" 
       android:textSize="20sp" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 

       android:layout_gravity="right" 
       android:background="@drawable/border" 
       android:gravity="center" 
       android:padding="5dp" 
       android:text="Energy" 
       android:textColor="#fff" 
       android:textSize="20sp" /> 
     </TableRow> 
    </TableLayout> 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="40dp"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="40dp" 
       android:background="@drawable/border" 
       android:gravity="center_vertical" 
       android:padding="5dp" 
       android:text="Name" 
       android:textColor="#fff" 
       android:textSize="20sp" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:layout_gravity="right" 
       android:layout_weight="1" 
       android:background="@drawable/border" 
       android:gravity="center" 
       android:padding="5dp" 
       android:textColor="#fff" 
       android:textSize="20sp" /> 
     </TableRow> 
    </TableLayout> 


</LinearLayout> 

enter image description here

+0

Merci. Je suis également intéressé à apprendre comment le faire dans LinearLayout. – Solo

+0

bienvenue frère .... –