android:layout_span没有在eclipse中显示

时间:2013-11-15 22:39:43

标签: android eclipse android-tablelayout

layout_span不起作用,当我编写android:layout_s并按ctrl + space获取可能的建议时,eclipse没有显示layout_span的任何选项

忽略了这一点,我把它粘贴并粘贴(layout_span="2")。但没有给出预期的结果。它将row划分为如下所示

------------------------------------
|  (about)%40  |     (about)%60    |
------------------------------------
|   %33    |     %33   |     %33   |
------------------------------------

layout.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="200dip"
android:layout_marginRight="10dip" >

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dip" >

    <TextView
        android:id="@+id/textView1"
        android:layout_weight="1"
        android:gravity="right"
        android:text="Column 1"
        android:textAppearance="@style/BoldBlue" />

    <TextView
        android:id="@+id/textView2"
        android:layout_weight="1"
        android:layout_span="2"
        android:text="Column 2"
        android:gravity="center"
        android:textAppearance="@style/Normal" />


</TableRow>
<TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dip" >

        <TextView
            android:id="@+id/textView4"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Column 1"
            android:textAppearance="@style/BoldBlue" />

        <TextView
            android:id="@+id/textView5"
            android:layout_weight="1"

            android:text="Column 2"
            android:gravity="center"
            android:textAppearance="@style/Normal" />
        <TextView
            android:id="@+id/button2"
            android:layout_weight="1"

            android:text="Column 3"
            android:gravity="center"
            android:textAppearance="@style/Normal" />


    </TableRow>
</TableLayout>

style.xml

<style name="BoldBlue">
        <item name="android:textSize">18sp</item>
        <item name="android:textColor">#0000FF</item>
        <item name="android:textStyle">bold</item>
        <item name="android:gravity">right</item>
    </style>

    <style name="BoldGreenCenter">
        <item name="android:textSize">18sp</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:textStyle">bold</item>
        <item name="android:gravity">center</item>
    </style>

    <style name="Normal">
        <item name="android:textSize">15sp</item>
        <item name="android:gravity">center</item>
    </style>

3 个答案:

答案 0 :(得分:2)

您可以使用layout_weight attr进行此操作。尝试以下:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/black" >

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

        <TextView
            android:id="@+id/textView1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Column 1" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:background="#FF0000"
            android:gravity="center"
            android:text="Column 2" />
    </TableRow>

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

        <TextView
            android:id="@+id/textView4"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="#3366FF"
            android:gravity="right"
            android:text="Column 1" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Column 2" />

        <TextView
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Column 3" />
    </TableRow>

</TableLayout>

输出:
enter image description here

答案 1 :(得分:1)

尝试将layout_span="1"添加到第1行的第一列

答案 2 :(得分:0)

在Eclipse中,XML代码辅助不会提示属性“android:layout_span”,“android:layout_column”和许多其他有用的TableLayout属性,不知道为什么,可能是bug。只需将属性放入其中,它仍然可以编译并运行。 more