Articles of android scrollview

CollapsingToolbarLayout ImageView不可滚动

使用cheesesquare – android支持库的例子是否可以使Header ImageView滚动? <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="@dimen/detail_backdrop_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp"> <ImageView android:id="@+id/backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:fitsSystemWindows="true" app:layout_scrollFlags="scroll" app:layout_collapseMode="parallax" /> … </android.support.design.widget.CollapsingToolbarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> …. 请注意 ,我已经添加了android:fillViewport="true"到NestedScrollView ,并向NestedScrollView 添加了 app:layout_scrollFlags="scroll" ,但是当试图从ImageView滚动时什么也没有发生。

Android ScrollView中的VerticalScrollExtent是什么?

从回答我的其他问题之一,我发现一个ListView子类的Google演示 ,允许项目重新sorting。 演示效果很好,但是在理解它是如何工作的时候遇到了一些麻烦:当一个项目拖到ListView的上下时,ListView开始向上/向下滚动显示新的项目。 必要的计算使用不同的参数ScrollView: public boolean handleMobileCellScroll(Rect r) { int offset = computeVerticalScrollOffset(); int height = getHeight(); int extent = computeVerticalScrollExtent(); int range = computeVerticalScrollRange(); int hoverViewTop = r.top; int hoverHeight = r.height(); if (hoverViewTop <= 0 && offset > 0) { smoothScrollBy(-mSmoothScrollAmountAtEdge, 0); return true; } if (hoverViewTop + hoverHeight >= height && (offset […]

在scroller startScroll背后的逻辑?

在这个文档中,我不明白startScroll()的startScroll() 。 它说: 正数将滚动内容到左边。 我不明白。 如果0总是在左边,为什么向左滚动? 如果否定,则会滚动到右侧。 但为什么? 我的头很难缠绕它。 它背后的逻辑是什么? 为什么要向左走呢? 在游戏和graphics编程中,0将始终是左上angular或左下angular,但始终位于左侧。 所以用正数向右移动并向负左移是有意义的。 但为什么在startScroll上有所不同呢? 我只是问因为我真的很好奇,为什么这样devise呢。

ScrollView与TimePicker的滚动战斗,Timepicker不滚动作为结果

希望有一个解决scheme在这里,我有我的main.xml中的XML TimePicker和ScrollView,并设置TimePicker不滚动。 如果我删除ScrollView Timepicker将滚动很好,但显然我需要两个。 看起来他们都在为触摸事件而战,但是却造成了问题。 这是我的代码: <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_height="match_parent" android:layout_width="match_parent" android:background="@color/backgroundmain"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <!– Action Title –> <ImageView /> <TextView /> <!– Description –> <TextView /> <!– Have to Button –> <TextView /> <RelativeLayout android:id="@+id/TimePickerSection" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginTop="5dp" android:layout_centerHorizontal="true" android:layout_below="@id/"> <TimePicker android:id="@+id/TimePick" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_below="@id/HaveToText"/> <Button android:id="@+id/OkButton" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/OkText" android:layout_below="@id/HaveToText" android:textSize="20sp" […]

检测ScrollView的结尾

我已经重写了ScrollView以将GestureDetector传递给GestureDetector以检测ScrollView上的GestureDetector事件。 我需要能够检测滚动停止的时间。 这与MotionEvent.ACTION_UP事件并不一致,因为这通常发生在一个onScrollChanged()的开始,后面跟着一个ScrollView的onScrollChanged()调用。 所以基本上我们在这里处理的是以下事件: onFling onScrollChanged,onScrollChanged,onScrollChanged,…,onScrollChanged onScrollChanged事件完成时没有callback。 我正在考虑在onFling期间使用Handler向事件队列发送消息,并等待Runnable执行以指示结尾,不幸的是,它会在第一次onScrollChanged调用之后触发。 任何其他的想法?

在android中的滚动视图内设置Viewpager高度

我必须在scrollview中显示一个viewpager(在pager行中图像下方的图像和文本)。 我正在下载图像,文本从网页和显示在传呼机行。 我在srollview中包装了viewpager以支持横向模式。 <com.xxx.myapp.android.ui.CustomScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:fadingEdge="none" android:fillViewport="true" android:gravity="center"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:descendantFocusability="blocksDescendants" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="800dp" android:layout_gravity="top" android:layout_marginTop="10dp" /> </LinearLayout> </com.xxx.myapp.android.ui.CustomScrollView> 这里是CustomScrollView 。 问题是如何根据其子高度来设置视图传呼机高度,这样我就可以滚动屏幕直到视图传呼机项目结束。 如果我将view pager高度设置为wrapcontent,viewpager中就不会显示任何内容。 如果我设置了一些800dp,那么我可以看到寻呼机的项目,但是在屏幕上不需要滚动。 我不希望我的scrollview被滚动到寻呼机的儿童身高之外。 请帮帮我。

自定义Android ScrollView的垂直滚动条

我需要自定义ScrollView ,使其看起来像在图片中: 我已经成功地定制了Thumb和Track ,但我不知道如何在我提供的图片中添加Arrows 。 这是我使用的风格: <!– Scrollbar –> <style name="scroll_view"> <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item> <item name="android:scrollbars">vertical</item> <item name="android:fadeScrollbars">false</item> <item name="android:scrollbarThumbVertical">@drawable/sb_thumb</item> <item name="android:scrollbarTrackVertical">@drawable/sb_track_vertical_bg</item> </style> Arrows应该是ScrollView样式的一部分,以避免额外的空间,也需要简单,不可点击等

如何停止滚动屏幕顶部的select微调在Android

我在滚动视图中使用微调,当我做select微调,滚动视图滚动到屏幕的顶部。 有什么办法可以防止这个滚动? 任何帮助表示赞赏。 谢谢。

Android ScrollView不尊重孩子的底部边缘

我有一个android layout_file,如下所示 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:id="@+id/post_ride_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/activity_margin" android:padding="@dimen/activity_margin" android:background="@drawable/google_now_style_card" android:orientation="vertical" > … </LinearLayout </ScrollView @dimen/activity_margin dimen @dimen/activity_margin是16dp 当我运行应用程序时,我无法滚动到整个布局的底部,因为它不会显示底部边距。 这张照片澄清 请注意,提示已达到布局的底部(从底部发光),但右侧的滚动条表示还有更多的向下滚动到。 我想要发生的是能够看到底部的边缘,就像布局边缘的边缘。

三星Galaxy S2 2.3.5+不叫overScrollBy()

似乎像三星禁用他们overscroll(可能是由于苹果套装)。 我有一个扩展ScrollView和覆盖的视图的实现 protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY,int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { … return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, 0, metrics.widthPixels,isTouchEvent); } 在其他所有设备(姜饼和当然), overScrollBy被称为当滚动到达结束时,用户可以实际overscroll视图)。 在Android 2.3.5+上,三星已经实现了一些完全禁用过度滚动的机制(不仅仅是它们的超滚动实现,而且还有Android的实现),并且每当用户尝试过度滚动时,下面的LogCat事件正在被打印: 02-13 16:02:34.230: D/BounceScrollRunnableDefault(15783): run(), TimeFraction=0.5225, mBounceExtent=7.273352 有什么方法可以解锁三星在那里做的? 或者,也许另一种方式来创buildoverscroller?