如何将视图包装在 Horizo​​ntalScrollView 中?

发布于 2024-11-29 18:08:01 字数 2313 浏览 0 评论 0原文

我有一个 Horizo​​ntalScrollView 和数字 0-9 作为 TextView ,如下所示。

  1. 是否可以“包装”TextView?

    例如,我想连续允许滚动。现在,当用户从 9 滚动到 0 时,滚动就会停止。

    我想将滚动设置为连续(或让 TextView 换行),以便当用户到达 9 时,0、1、2、3 ... 再次显示。也可以是相反的方向;当用户向左经过 0 时,就会出现 9、8、7...。

  2. 是否可以将当前选定的TextView“居中”?

    如果用户单击 6,并且 6 在右侧,我可以以编程方式滚动 Horizo​​ntalScrollView 以使 6 现在位于屏幕中央吗?我想要与 Gallery 控件中相同的行为。

  3. 是否可以控制/覆盖 Horizo​​ntalScrollView 以便一次仅滚动 1 个项目?

    现在,如果他们滑动/甩动速度非常快, Horizo​​ntalScrollView 一直向左(或向右, 取决于滑动/猛击的方向)。


 <HorizontalScrollView android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/hsv">
  <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">
   <TextView android:text="0" android:id="@+id/tv0" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="1" android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="2" android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="3" android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="4" android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="5" android:id="@+id/tv5" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="6" android:id="@+id/tv6" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="7" android:id="@+id/tv7" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="8" android:id="@+id/tv8" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="9" android:id="@+id/tv9" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
  </LinearLayout>
 </HorizontalScrollView>

任何帮助表示赞赏。

I have a HorizontalScrollView and the numbers 0-9 as TextViews as follows.

  1. Is it possible to "wrap" the TextViews?

    For example, i want to continuously allow scrolling. Right now, when a user scrolls from 9 to 0, the scrolling stops.

    I want to set the scrolling to continuously (or have the TextViews wrap) so that when the user gets to 9 then 0, 1, 2, 3 ... shows up again. And also in the reverse direction; when a user goes to the left past 0, then 9, 8, 7, ... shows up.

  2. Is it possible to "center" the currently selected TextView?

    If a user clicks 6, and 6 is to the right, can i scroll the HorizontalScrollView programmatically such that 6 is now in the center of the screen? I want the same behavior as in the Gallery control.

  3. Is it possible to control/override the behavior of the
    HorizontalScrollView so that it scrolls only 1 item at a time?

    Right now, if they swipe/fling really fast, the
    HorizontalScrollView scrolls all the way to the left (or right,
    depending on the direction of the swipe/fling).


 <HorizontalScrollView android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/hsv">
  <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">
   <TextView android:text="0" android:id="@+id/tv0" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="1" android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="2" android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="3" android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="4" android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="5" android:id="@+id/tv5" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="6" android:id="@+id/tv6" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="7" android:id="@+id/tv7" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="8" android:id="@+id/tv8" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="9" android:id="@+id/tv9" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
  </LinearLayout>
 </HorizontalScrollView>

any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Saygoodbye 2024-12-06 18:08:01

已经提供了一些很好的答案

接受上面的答案

如果您正在使用列表/网格或任何使用适配器的东西
数据,你可以使用CommonsWare编写的最优秀的类和
可以在这里找到:

http://github.com/commonsguy/cwac-endless

它是专门用于此目的的

There's already a couple of excellent answers provided on SO

Accepted answer from above

if you are working with list/grid or anything that uses Adapter for
data, you can use a most excellent class written by CommonsWare and
available here:

http://github.com/commonsguy/cwac-endless

it was was specifically for this purpose

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文