我有一个ViewSwitcher
,其中TextView
围绕着ScrollView
来获取滚动条。我需要它自动滚动到底部。有这样的财产吗?我已经尝试过将重力放在底部。
这是我的代码:
<ScrollView
android:id="@+id/SCROLLER_ID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:fillViewport="true">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/textView1"
android:clickable="true"
android:fadeScrollbars="false"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:verticalScrollbarPosition="right"
android:longClickable="true"
android:nestedScrollingEnabled="true"
android:layout_marginRight="15.5dp"
android:layout_marginLeft="0.0dp" />
</ScrollView>
</ViewSwitcher>
答案 0 :(得分:0)
我认为你不能在你的AXML中做到这一点。在我看来,你必须在代码隐藏中执行此操作。在布局文件的相应活动中,请将以下代码段放在OnCreate
覆盖:
var scrollView = FindViewById<ScrollView>(Resource.Id.SCROLLER_ID);
scrollView.Post(() =>
{
scrollView.FullScroll(FocusSearchDirection.Down);
});
您可能必须使用Post()
或PostDelayed()
,玩弄它。另请参阅文档中的fullScroll()
方法。
如果上述方法不起作用的另一种方法是在ScrollView
上调用scrollTo()
,就像这样:
var scrollView = FindViewById<ScrollView>(Resource.Id.SCROLLER_ID);
scrollView.Post(() =>
{
scrollView.ScrollTo(0, scrollView.Bottom);
});