ScrollView wrapping table row does not scroll to show all content
I am trying to have a single row in a table be scrollable. I.e, I am setting up a table with, say, two rows; adding two, say, views to the first row; then as the third element in the row am placing a horizontal scrollview. Then as a child to the scrollview I place a final table row which contains a bunch of textViews.
The problem I am having is that the scrollview refuses to scroll over far enough to display all of its contents. Any ideas?
I've attached sample xml below:
Thanks, James
<?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" a开发者_Go百科ndroid: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>
Your HorizontalScrollView should have a LinearLayout inside in which you can add your TextViews, not a TableRow. Hope this helps.
Code:
<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>
Try to set gravity "Left" for LinearLayout for last example.
精彩评论