Xamarin Scroll-View应该跳到最低点

时间:2018-03-14 07:52:27

标签: c# android xml xamarin

我有一个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>

1 个答案:

答案 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);
});