2

私はこのようなレイアウトを持っています:

<TableRow
        android:id="@+id/TabHidden"
        android:layout_width="fill_parent"
        android:layout_height="45dp"
        android:background="@drawable/bg_detail_tab1"
        android:paddingLeft="5dip"
        android:paddingRight="5dip"
        android:paddingTop="10dip"
        android:visibility="gone"
    >
        ...
</TableRow>
<ScrollView
    android:id="@+id/ScrollViewGameDetail"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:fillViewport="true" >
    <TableRow
        android:id="@+id/Tab"
        android:layout_width="fill_parent"
        android:layout_height="45dp"
        android:background="@drawable/bg_detail_tab1"
        android:paddingLeft="5dip"
        android:paddingRight="5dip"
        android:paddingTop="10dip"
    >
        ...
    </TableRow>
    ...
</ScrollView>

ScrollView を画面の上部にスクロールすると、TableRow を ScrollView 内に非表示にし、呼び出して TableRow を外部に表示します。

tabHidden.setVisibility(TableRow.VISIBLE);
tab.setVisibility(TableRow.GONE);

これにより、ScrollView の外側の TableRow が常に画面の一番上に表示されます。内部の TableRow が非表示になっている場合を除き、問題なく動作します。ScrollView 内のすべてのコンテンツが少し押し上げられます (TableRow の高さと同じです)。スクロールアクションがスムーズに見えないので、そのようにジャンプしたくありません。ScrollView のコンテンツがそのような空白スペースを自動的に埋めるのを防ぐ方法はありますか?

4

1 に答える 1

2

使うsetVisibility(View.GONE);と完全になくなるので、そこに空きスペースを残すためにやりたいことは、setVisibility(View.INVISIBLE);

于 2012-07-09T07:46:37.580 に答える