在TableRow中使用线性布局

时间:2014-08-18 12:15:52

标签: android android-linearlayout tablelayout

我尝试使用以下单元格在我的Android应用中创建一个表格:

http://clip2net.com/s/iKPw39

(对不起这个链接,由于声誉低,我无法附加图片)

我的想法是在表格行中使用线性布局,但工作不正确。 如果您对如何修改表格布局以实现我期望的工作有任何想法,请给我任何想法。

我的xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@color/black"
    android:orientation="vertical" >

    <TableLayout
        style="@style/TextColor"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="90"
        android:stretchColumns="1"
        android:textColor="@colors/white" >

        <TableRow>

        <TextView
            style="@style/TextColor"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="@drawable/cell"
            android:gravity="center"
            android:padding="10dip"
            android:singleLine="false"
            android:text="@string/start_time" />

            <TextView
                style="@style/TextColor"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@drawable/cell"
                android:gravity="center"
                android:padding="10dip"
                android:text="@string/start_time" />

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

            <TextView
                style="@style/TextColor"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@drawable/cell"
                android:gravity="center"
                android:padding="10dip"
                android:text="@string/start_time" />

            <TextView
                style="@style/TextColor"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@drawable/cell"
                android:gravity="center"
                android:padding="10dip"
                android:text="@string/start_time" />

        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
             <TextView
                style="@style/TextColor"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@drawable/cell"
                android:gravity="center"
                android:padding="10dip"
                android:text="@string/start_time" />
             <TextView
                style="@style/TextColor"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@drawable/cell"
                android:gravity="center"
                android:padding="10dip"
                android:text="@string/start_time" />
        </TableRow>

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

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

    </TableLayout>

     <TextView
         android:layout_width="fill_parent"
         android:layout_height="0dp"
         android:layout_weight="10"
         android:gravity="center"
         android:text="ADDS" />

</LinearLayout>

修改 我根据你的评论做了一些改变。请看一下,请告诉我,为什么没有显示文字?

    <LinearLayout xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@color/black"
    android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">

        <LinearLayout 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@color/black"
            android:orientation="horizontal"
            android:baselineAligned="false" >

            <LinearLayout
                android:layout_weight=".5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/cell"
                android:orientation="vertical" >

                    <TextView
                        android:layout_height="fill_parent"
                        style="@style/TextColor"
                        android:gravity="center"
                        android:padding="10dip"
                        android:text="@string/start_time" />
                    <TextView
                        style="@style/TextColor"
                        android:gravity="center"
                        android:padding="10dip"
                        android:text="@string/activate" />
            </LinearLayout>

            <LinearLayout 
                android:layout_weight=".5"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:background="@drawable/cell"
                android:orientation="vertical" >
                    <TextView
                        android:layout_height="fill_parent"
                        style="@style/TextColor"
                        android:gravity="center"
                        android:padding="10dip"
                        android:text="@string/start_time" />
                    <TextView
                        style="@style/TextColor"
                        android:gravity="center"
                        android:padding="10dip"
                        android:text="@string/activate" />
            </LinearLayout>
        </LinearLayout>

3 个答案:

答案 0 :(得分:1)

感谢您的帮助。 我找到了一个解决方案。 我的xml文件现在看起来像这样:         

<LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/black"
        android:orientation="horizontal"
        android:baselineAligned="false" >

        <LinearLayout
            android:layout_weight=".5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/cell"
            android:orientation="vertical" >

                <TextView
                    style="@style/TextColor"
                    android:layout_width="fill_parent" 
                    android:layout_height="fill_parent" 
                    android:gravity="center"
                    android:padding="10dip"
                    android:textSize="46sp"
                    android:text="@string/start_time" />

                <TextView
                    style="@style/TextColor"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:gravity="center"
                    android:padding="10dip"
                    android:paddingBottom="@dimen/zero"
                    android:text="@string/activate" />

        </LinearLayout>

        <LinearLayout 
            android:layout_weight=".5"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:background="@drawable/cell"
            android:orientation="vertical" >
                <TextView
                    android:layout_width="fill_parent" 
                    android:layout_height="fill_parent"
                    style="@style/TextColor"
                    android:gravity="center"
                    android:padding="10dip"
                    android:textSize="46sp"
                    android:text="@string/start_time" />
                <TextView
                    android:layout_width="fill_parent" 
                    android:layout_height="fill_parent"
                    style="@style/TextColor"
                    android:gravity="center"
                    android:padding="10dip"
                    android:text="@string/activate" />
        </LinearLayout>

答案 1 :(得分:0)

试试这个。

<TableRow
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_gravity="center_horizontal"
    android:orientation="vertical"
    android:id="@+id/row">


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/container">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Large Text"
            android:paddingLeft="20dp"
            android:id="@+id/textView" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Small Text"
            android:id="@+id/textView2"
            android:layout_centerVertical="true"
            android:layout_alignRight="@+id/textView"
            android:paddingTop="20dp"
            android:paddingLeft="20dp"
            android:layout_alignEnd="@+id/textView" />
        </LinearLayout>
</TableRow>

答案 2 :(得分:0)

对于border,将其放在名为border.xml的文件中

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
    <solid android:color="#00000000"/>
    <stroke android:width="1dp"  android:color="#000000"/>
</shape>

并绘制内部内容使用此

<LinearLayout 
android:layout_margin="5dp"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/border">
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="24sp"
    android:text="Sample Text"/>
<TextView 
    android:layout_marginTop="10dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="11sp"
    android:text="Sample Text"/>

您可以使用LinearLayout内的TableRow或任何您想要的地方