ScrollView包装表行不会滚动显示所有内容

时间:2011-08-27 22:29:44

标签: android android-layout

我试图让表中的一行可滚动。即,我正在设置一个表,比方说,两行;在第一行添加两个视图;然后作为行中的第三个元素放置水平滚动视图。然后作为滚动视图的子项,我放置了一个包含一堆textViews的最终表行。

我遇到的问题是scrollview拒绝滚动到足以显示其所有内容。有什么想法吗?

我在下面添加了示例xml:

谢谢, 詹姆斯

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tableLayout1">
    <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <View android:layout_width="100dp" android:layout_height="100dp" android:background="#FF33AA22"></View>
        <View android:layout_width="50dp" android:background="#FFAABB33" android:layout_height="100dp"></View>
        <HorizontalScrollView android:id="@+id/horizontalScrollView1" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <TableRow android:layout_width="wrap_content" android:id="@+id/tableRow2" android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView1" android:textAppearance="?android:attr/textAppearanceMedium" android:text="TextView 1"></TextView>
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView 2" android:id="@+id/textView2" android:textAppearance="?android:attr/textAppearanceMedium"></TextView>
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView4" android:textAppearance="?android:attr/textAppearanceMedium" android:text="TextView 3"></TextView>
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView3" android:textAppearance="?android:attr/textAppearanceMedium" android:text="TextView 4"></TextView>
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView5" android:textAppearance="?android:attr/textAppearanceMedium" android:text="TextView 5"></TextView>
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView6" android:textAppearance="?android:attr/textAppearanceMedium" android:text="TextView 6"></TextView>
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView7" android:textAppearance="?android:attr/textAppearanceMedium" android:text="TextView 7"></TextView>
            </TableRow>
        </HorizontalScrollView>
    </TableRow>
    <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TableRow>
    <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content"></TableRow>
</TableLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

您的Horizo​​ntalScrollView里面应该有一个LinearLayout,您可以在其中添加TextView,而不是TableRow。希望这会有所帮助。

代码:

<HorizontalScrollView android:id="@+id/horizontalScrollView1" android:layout_width="fill_parent" android:layout_height="wrap_content">
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal">
        <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
        <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    </LinearLayout>
</HorizontalScrollView>

答案 1 :(得分:0)

尝试为LinearLayout设置重力“左”作为最后一个示例。