Android 水平滚动视图选择器 - Xamarin

Android Horizontal Scroll View Picker - Xamarin

我正在尝试实现一个选择器。在下图中,当用户向左滑动 Breakfast 时,将 selected 并显示结果,如果您在 Breakfast 上,也可以按 Dinner,它会平滑地滚动到 Dinner。我目前的 XML 是:

  <?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"
    android:minWidth="25px"
    android:minHeight="25px">
    <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scrollbarSize="0dp">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center">
            <LinearLayout
                android:padding="16dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Breakfast" />
            </LinearLayout>
            <LinearLayout
                android:padding="16dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Lunch" />
            </LinearLayout>
            <LinearLayout
                android:padding="16dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:orientation="vertical"
                android:id="@+id/linearLayout2">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Dinner"
                    android:id="@+id/textView2" />
            </LinearLayout>
        </LinearLayout>
    </HorizontalScrollView>
</LinearLayout>

我不太确定这是解决此问题的最佳方法我还希望在 select 选项下显示绿色小条,如下图所示。任何指示或帮助将不胜感激。很想知道我是否在 XML 的正确路线上,如果你能指出如何在代码中制作选择器的正确方向,那就太好了!

J

I am not too sure this is the best way to go about it I would also like the little green bar to be displayed under the select option like in the image below.

实现这种视图的常用方法是使用 ViewPager 和 Android 中的 Indicator。您可以使用一些库来简化这项工作,例如ViewPagerIndicator,并且有一些示例您可以看一下。

或者您可以尝试创建自己的一个。正如您在代码中所做的那样,使用 HorizontalScrollView 创建一个指标。因此,您创建指标的方向是正确的,只需将 ViewPager 与您的指标一起使用并为其设置滚动侦听器。