Articles of scrollview

如何设置选定的选项卡必须在中间

我是Android新手,在我的项目中我有要求 即我有六个选项卡,但我只显示在屏幕上的三个选项卡,其余的选项卡我使用ScrollView.Here选定的选项卡项目必须在中间,首先当我进入屏幕我显示中间项目是活动的(即选定)。 这很好,但我怎么能设置这个中间项目作为中间,当我滚动剩余的标签? 任何人都可以给出解决的build议。

如果滚动条太短,滚动查看不会滑动

我对Android应用程序开发相当陌生,我一直在玩滑动手势,使用Android的SimpleOnGestureListener和ViewFlipper。 有3个子ViewFlipper,每个是一个ScrollView。 当Activity加载时,它们全部被dynamic地填充,并且在之后它们不会改变。 ScrollView是SimpleOnGestureListeners附加的地方。 这是我正在使用的布局: + ViewFlipper ++ ScrollView(x3,每个页面一个,每个都有以下:) +++ LinearLayout(垂直) ++++的TextView ++++ TableLayout(dynamic填充w / TableRows) ++++查看 我扩展了onFling方法,使用您可以在网上任何地方find的常见教程代码,并且它工作的很好 – 除非其中一个ScrollViews没有足够的内容滚动。 我已经缩小了问题的范围,通过覆盖并调用每个SimpleOnGestureListener的方法来添加一个print-to-log来触发检测。 当我在滚动的页面上滑动时,我会在onScroll的“onScroll”中得到一些“onClick”中的东西。在页面太短而无法滚动的页面中,我在onLongPress的onShowPress“”中获得“onClick” “,那只有当我触摸太短滚动视图的孩子的内容 – 如果我触摸到其他地方,我根本没有得到任何事件。 想法是什么错误,或者如何检测滑动手势,无论ScrollView有多大? 编辑:我已经确定,当我在Android 2.2模拟器上运行这个,而不是我已经使用的Android 2.1u1 DroidX模拟器,它消失了。 这在多个环境中是可重现的。 我对此有更多的了解。 看起来好像onInterceptTouchEvent不是每个运动事件调用当一个滚动视图包含在一个鳍(或WorkspaceView)。 特别是,我修改另一个视图类来解决这个问题(它不是独特的鳍状肢)时发现的行为如下 – 请注意,这只是Android 2.1: 如果滚动视图足够长,滚动视图将捕获ACTION_DOWN运动事件,并且每个后续的ACTION_MOVE事件都会经过鳍状肢的onInterceptTouchEvent,在那里被截取并正确处理。 在android 2.2中,无论滚动长度如何,都会发生这种情况。 回到2.1:如果scrollview的长度不够滚动,ACTION_DOWN运动事件不会被scrollview捕获,而是返回到鳍状肢的onTouchEvent。 所有相同手势的后续ACTION_MOVE事件都会跳过 onInterceptTouchEvent函数并直接进入onTouchEvent函数! 我解决这个问题的方法是将我在onTouchEvent中的function用于ACTION_MOVE事件,并将其重构为自己的方法。 通过这种方式,如果检测到事件先前没有处理,我可以让onTouchEvent调用onInterceptTouchEvent,然后调用该function。 case MotionEvent.ACTION_MOVE: if (touchState == TOUCH_STATE_SCROLLING) { handleScrollMove(ev); } else […]

ScrollView内容更新

我有一个编程生成的ScrollView里面有一个TextView 。 我希望不时更新TextView的文本,并且已经实现了一个处理函数来更新TextView GUI元素。 这似乎调用/正常工作。 但是,目前我发现实际上让TextView显示附加信息的唯一方法是调用: consoleText.append("New text to add to TextView"); // then: myScrollView.removeView(myTextView); myScrollView.addView(myTextView); 这不是特别优化,并想知道如何刷新ScrollView的内容来显示我的新增信息… 也: invalidate(); postvalidate(); 似乎没有做任何事情 – TextView对象有新的文本(查看debugging),它只是没有绘制到屏幕上,除非我调用添加/删除function。 感谢您提供的任何信息/帮助 FR

仅当活动开始时,如何滚动到Horizo​​ntalScrollView的中心?

我有一个活动,显示一个水平长的imageview howizontalscrollview。 我需要当活动开始时,horizo​​ntalscrollview必须滚动到自己的中心,而不是开始。 我正在search谷歌,在这里,我找不到方法.. 这是我的水平滚动视图: HorizontalScrollView wvScroll = new HorizontalScrollView(this); wvScroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); iv.setImageBitmap(Util.getRemoteImage("http://mywebsite.com/90.gif")); iv.setScaleType(ScaleType.CENTER_CROP); wvScroll.addView(iv); mainLayout.addView(wvScroll); 谢谢

Android:ScrollView和绘图caching?

从ScrollView中滚动的视图是否自动被绘图cachingcaching? 我不太确定我是否理解API文档。

在scroller startScroll背后的逻辑?

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

Android – ScrollView像foursquare与地图+列表

这是这个 iOS问题的Android等价物。 尝试创build一个包含大约20%的屏幕(在ActionBar下)的MapView的视图,而屏幕的其余部分是一个滚动视图,当向下滚动时,重叠在MapView顶部并隐藏它。 总之就像FourSquare的Android应用程序。 有任何想法吗?

ScrollView内没有释放动力

在我的活动中,我有一个ScrollView内的两个RecyclerView 。 问题是,当我滑动/滑动ScrollView ,滚动停止立即。 有没有办法让ScrollView实现动量或惯性,所以在滚动停止之前有一些减速? 我的XML如下: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ProgressBar android:id="@+id/threadload_progress" style="?android:attr/progressBarStyleLarge" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:visibility="gone" /> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/subforums" android:name="net.polunom.forum.fragments.ThreadFragment" android:layout_width="match_parent" android:layout_height="wrap_content" app:layoutManager="LinearLayoutManager" tools:context=".fragments.ThreadFragment" tools:listitem="@layout/fragment_subforum"/> <android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/threadlist" android:name="net.polunom.forum.fragments.ThreadFragment" android:layout_width="match_parent" android:layout_height="wrap_content" app:layoutManager="LinearLayoutManager" tools:context=".fragments.ThreadFragment" tools:listitem="@layout/fragment_thread"/> </LinearLayout> </ScrollView>

Android ScrollView只能托pipe一个直接的孩子

我有一个onclick监听器,应该清除tableview中的所有行,然后将行/行添加到scrollview中的tableview。 片段应该在每次点击button时改变。 不过,我得到:java.lang.IllegalStateException:ScrollView可以只托pipe一个直接的孩子。 myactivitybutton监听器 TrackerFragment tf = (TrackerFragment) getFragmentManager().findFragmentById(R.id.tracker1); tf = TrackerFragment.newInstance(listOfList.get(id).get(position)); fragmentTransaction.add(R.id.tracker1, tf); fragmentTransaction.commit(); t1 = true; //being used getFragmentManager().executePendingTransactions(); 跟踪器片段 public class TrackerFragment extends Fragment { private Dish dish; public static TrackerFragment newInstance(Serializable dish) { TrackerFragment tf = new TrackerFragment(); Bundle args = new Bundle(); args.putSerializable("dish", dish); tf.setArguments(args); return tf; } public static […]

scrollTo,scrollBy,smoothScrollTo,smoothScrollTo在子视图中添加视图后不能在ScrollView中工作

我有Horizo​​ntalScrollView里面的子布局。 将视图添加到子布局后,我无法将Horizo​​ntalScrollView滚动到滚动条的右侧。 scrollTo,scrollBy,smoothScrollTo,smoothScrollTo不起作用。