がの直接の子でない場合、TextView
をスクロールして画面の表示領域に入るにはどうすればよいですか?ScrollView
TextView
ScrollView
上部にがあり、次にaと下部にあるLinearLayout
ビューがあります:TextView
ScrollView
Button
<LinearLayout
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_height="wrap_content"/>
<ScrollView
android:id="@+id/s"
android:layout_height="0dip"
android:layout_weight="1" >
<TableLayout
android:id="@+id/t"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/r" >
<TextView
android:id="@+id/a"/>
<TextView
android:id="@+id/b"/>
<TextView
android:id="@+id/c"/>
</TableRow>
</TableLayout>
</ScrollView>
<Button
android:layout_height="wrap_content"/>
</LinearLayout>
これにより、上部の境界にラベル、下部の境界にボタン、およびその間にテーブルが表示された、完全に塗りつぶされた画面が生成されました。このテーブルの行数に応じて、スクロールするかどうかを指定できます。
テーブルの内容はJavaコードによって生成されます。そこに挿入されるものの例として、1行を追加しました。
次に、垂直方向にスクロールして、特定の行(必ずしも最後の行である必要はありません)が表示されることを確認する必要があります。s
からまでのすべての要素にアクセスできますが、スクロールc
を作成するためのコードをまったく理解できません。ScrollView s
requestChildRectangleOnScreen
私は、、、scrollBy
を試しscrollTo
ましたが、おそらく常に間違った引数を使用していました。
今TextView a
のところ、垂直方向の中央にあるか、下または上の境界にあるかは関係ありません。それがまったく表示されていれば、確かに素晴らしいでしょう。Xスクロールは、理想的には0のままにする必要があります(つまり、左端の位置)。
TableRow
これが重要な場合:この関数は、ユーザーが画面にxまでスクロールするように指示する特別なインテントを使用して画面に入るときにのみ呼び出されます(最新の変更を表示するだけです)。
さらに詳しい情報が必要な場合は、お問い合わせください。
ありがとうございました!