gpt4 book ai didi

android - 两个方向 ScrollView 内元素的固定位置

转载 作者:行者123 更新时间:2023-11-30 04:21:43 27 4
gpt4 key购买 nike

我正在我的 Android 应用程序中构建一个 View ,它应该水平和垂直滚动。因此,我用水平 ScrollView 包围了我的 View ,在这个水平 ScrollView 中,我有另一个 ScrollView (垂直 ScrollView )。

在 ScrollView 的顶部,我有一个时间线(插图中的红色)。滚动垂直 ScrollView 时,时间轴应该是静态的。它应该保持在顶部。因此,此时间线始终在顶部可见。

在这些 ScrollView 的左侧,我有五个按钮(插图中的不同颜色)。这些按钮应随垂直 ScrollView 而不是水平 ScrollView 一起滚动,这意味着它们应始终在左侧可见。

ScrollView 中的白色区域将双向滚动。

我已经设法让时间轴(图中的红色)保持在顶部并且只在水平 ScrollView 中滚动,但我不知道应该把我的五个按钮放在哪里以确保它们也将保持在顶部并且只使用垂直 ScrollView 滚动。

这是我现在的布局,时间轴位于顶部。

<!-- Horizontal scroll view -->
<HorizontalScrollView android:id="@+id/schedule_concerts_scroll_view"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:fadingEdge="none"
android:scrollbars="none"
android:layout_below="@+id/schedule_day_pager_layout">

<!-- Scroll container for horizontal scroll view -->
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:id="@+id/schedule_layout">

<!-- The timeline (red in the illustration) Should only scroll horizontal and stay at top -->
<RelativeLayout android:id="@+id/schedule_timeline"
android:layout_width="wrap_content"
android:layout_height="23dp"
android:layout_marginBottom="0dp"
android:layout_alignParentTop="true" />

<!-- Vertical scroll view -->
<ScrollView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:fadingEdge="none"
android:scrollbars="none"
android:layout_below="@+id/schedule_timeline">

<!-- Scroll container for vertical scroll view -->
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content">

<!-- The content here should be scrolling both ways -->

</RelativeLayout>

</ScrollView>

</RelativeLayout>

</HorizontalScrollView>

这是插图,我一直在引用。这应该有助于解释我的布局应该如何结束。

Illustration of scroll directions

有谁知道如何在两个方向上都具有固定位置的 View 实现双向滚动?

最佳答案

我发现很容易将左侧的按钮移出两个 ScrollView 并监听 onScrollChanged 并且每当滚动垂直 ScrollView 时,然后相应地滚动按钮。因此,我将按钮放在 ScrollView 中,并在调用 onScrollChanged() 时在此 ScrollView 上调用 onScroll()

有关如何扩展 ScrollView 以实现 onScrollChanged() 的详细说明,请参阅 this answer .

关于android - 两个方向 ScrollView 内元素的固定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9151671/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com