2017-06-24 5 views
0

Ich versuche, eine Tabelle in Android zu erstellen. Ich bin wirklich weit gekommen, aber ich habe Probleme mit HeadLineSum und BodySum, die nicht horizontal nach ganz rechts schweben. Ich habe ein Excel-Layout erstellt, um zu zeigen, was ich wirklich wollte.Tabelle Text rechts ausrichten

enter image description here

Und das ist, was ich zu schaffen verwaltet. enter image description here

Meine Android-Layout-Code:

<!-- 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 --> 

Antwort

1

Tabellenlayout ist zu alt Technik diese Art von Design zu erreichen Sie Linearlayout für gleiche verwenden sollten.

Wenn Sie immer noch diese Art von Design mit Tablelayout einfach erreichen wollen, kopieren meinen Code einfügen

Hier ist mein Code

Erste border.xml Datei in ziehbar Ordner erstellen

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

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

</shape> 

dann kopieren Sie die Paste 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

Danke. Ich bin auch daran interessiert zu lernen, wie man es in LinearLayout macht. – Solo

+0

willkommen bro .... –

Verwandte Themen