如何在1个布局中添加3列?

时间:2016-02-08 14:47:00

标签: android android-layout

首先,抱歉我的英语不好。 我想设计一个布局。如果你看下面的图片,你会明白我在说什么。在第二行中,列分散。

我明白了:

User   User  User
User User  User
User    User    User

我需要:

User User User
User User User
  • Actual layout

  • What I want

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="TEST1"
        android:id="@+id/textView4"
        android:layout_weight="1"
        style="@style/diziKanalsüreTextViews" />
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="TEST2"
        android:id="@+id/textView3"
        android:layout_weight="1"
        style="@style/diziKanalsüreTextViews" />
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="TEST3"
        android:id="@+id/textView2"
        android:layout_weight="1"
        style="@style/diziKanalsüreTextViews" />
    

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Micheal Jackson"
            android:id="@+id/textView8"
            android:layout_weight="1" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="YEAR 2016"
            android:id="@+id/textView9"
            android:layout_gravity="center_vertical"
            android:layout_weight="1" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="New York City"
            android:id="@+id/textView10"
            android:layout_gravity="center_vertical"
            android:layout_weight="1" />
    </TableRow>
    
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical" >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Muhammad Ali"
            android:id="@+id/textView5"
            android:layout_weight="0.45" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="3241"
            android:id="@+id/textView6"
            android:layout_gravity="center_vertical"
            android:layout_weight="1" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Londra"
            android:id="@+id/textView7"
            android:layout_gravity="center_vertical"
            android:layout_weight="1" />
    </TableRow>
    
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical" >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:id="@+id/textView11"
            android:layout_weight="1"
            android:text="Serena Williams" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Text Here.ETC"
            android:id="@+id/textView12"
            android:layout_gravity="center_vertical"
            android:layout_weight="1" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Istanbul"
            android:id="@+id/textView13"
            android:layout_gravity="center_vertical"
            android:layout_weight="1" />
    </TableRow>
    

3 个答案:

答案 0 :(得分:1)

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableRow>
        <TextView
            android:text="Test"
            android:padding="3dip" />
        <TextView
            android:text="Test"
            android:padding="3dip" />
        <TextView
            android:text="Test"
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:text="Test"
            android:padding="3dip" />
        <TextView
            android:text="Test"
            android:gravity="right"
            android:padding="3dip" />
        <TextView
            android:text="Test"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
</TableLayout>

使用TableLayout,而不是LinearLayout

答案 1 :(得分:0)

如果要使用layout_weight,请设置layout_width =“0dp”。 您的布局xml可以是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="27dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="0dp"
    android:layout_marginTop="0dp"
    android:weightSum="3"
    android:orientation="horizontal">


    <TextView
        android:id="@+id/textView4"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="TEST1 asdjfga sdfa" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="TEST2" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="TEST3" />

</LinearLayout>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="27dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="0dp"
    android:layout_marginTop="0dp"
    android:weightSum="3"
    android:orientation="horizontal">


    <TextView
        android:id="@+id/textView42"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="TEST1 asdjfga sdfa" />

    <TextView
        android:id="@+id/textView32"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="TEST2" />

    <TextView
        android:id="@+id/textView22"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="TEST3" />

</LinearLayout>

答案 2 :(得分:0)

我的建议是使用RecyclerView并将GridLayout设置为LayoutManager?