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
与您的指标一起使用并为其设置滚动侦听器。
我正在尝试实现一个选择器。在下图中,当用户向左滑动 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
与您的指标一起使用并为其设置滚动侦听器。