Articles of 滚动视图

Android的ScrollChanged滚动查看多次

我对这个问题越来越感到疯狂,从现在的4个小时开始深入研究,我认为我不能再集中精神,所以很抱歉,如果这是一个容易的问题。 基本上我想跟踪滚动视图上的滚动(不,我不能使用网格或列表) 我正在使用ViewTreeObserver和一个onScrollChanges监听器。 然而,它被多次解雇。 更糟糕的是,当它被调用4次的3次时,scrollview的scrollY为0,1次得到正确的数量。 但是,并不是每个第四次调用都是正确的,正确的值被触发的时刻是随机的,我需要能够听到滚动位置0。 这里是我用来观察我的滚动视图的代码: mScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() { @Override public void onScrollChanged() { Log.d("StupidScrollView", "Scroll positionY: " + mScrollView.getScrollY()); } }); 示例输出: D/StupidScrollView﹕ Scroll positionY: 0 D/StupidScrollView﹕ Scroll positionY: 0 D/StupidScrollView﹕ Scroll positionY: 0 D/StupidScrollView﹕ Scroll positionY: 77 我不得不提,我在一个ViewPager和我的片段包含一个滚动视图需要观察。 它不知何故听起来像一些相关的问题。 提前致谢!

添加一个简单的ScrollView到图库导致内存泄漏

我遇到了我只能用ScrollView元素在使用Gallery组件时分类为内存泄漏的情况。 一个简短的背景。 我有一个现有的应用程序,是一个照片幻灯片应用程序。 它使用图库组件,但适配器中的每个元素都以全屏显示。 (完整的来源可在此链接 ) 适配器视图元素由一个ImageView和两个用于标题和描述的TextView组成。 由于照片的分辨率相当高,该应用程序使用了相当多的内存,但是图库一般都能够很好地回收它们。 但是,当我现在正在实现一个描述TextView的ScrollView时,我几乎立即遇到了内存问题 。 这是我做的唯一的改变 <ScrollView android:id="@+id/description_scroller" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" android:fillViewport="true"> <TextView android:id="@+id/slideshow_description" android:textSize="@dimen/description_font_size" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/white" android:layout_below="@id/slideshow_title" android:singleLine="false" android:maxLines="4"/> </ScrollView> 我做了一个堆转储,可以清楚地看到,这是内存问题的根源滚动查看。 以下是堆转储分析的两个屏幕截图。 请注意,ScrollView保留了mParent的参考,其中包括我使用的大照片 PS同样的问题,如果我使用TextView的滚动(android:scrollbars =“vertical”和.setMovementMethod(new ScrollingMovementMethod()); PSS尝试closures持久性绘图caching,但没有不同的dreaandroid:persistentDrawingCache =“none”

ImageView:如果ImageView不可见,则自动回收位图(在ScrollView中)

所以,我一直在看ImageView的源代码,但我还没有想出一个钩子来做到这一点呢。 问题是,让我们说,ScrollView里有30个400×800的图片(图片数量是可变的)。 由于他们完全适合在屏幕上,他们将需要1.3 MB的RAM每个。 我想要的:能够加载/卸载当前在ScrollView中可见的ImageView的位图。 如果用户滚动并且位图不再可见(在距离阈值内),则应该回收位图,以便内存可以被同一个ScrollView中的其他位图使用。 我正在进行降采样,所以没有担心。 奖金点,如果你只通过扩展ImageView(如果可能的话,我不想乱搞ScrollView)。 简介:我只能在ImageView变得可见(使用巧妙的技巧)之后才能加载图像,但是我不知道何时将它们卸载。 注意:由于其他可用性原因,我无法使用ListView来完成此操作。

我们可以在LinearLayout中使用ScrollView吗?

我需要devise一个graphics用户界面,其内容位于不滚动的屏幕顶部,滚动的顶部以下的内容。 我想过使用非滚动部分的LinearLayout和滚动部分的ScrollView。 但是,当我尝试在LinearLayout之后使用ScrollView时,出现运行时错误。 是否有可能添加LinearLayout和ScrollView到父LinearLayout?

Android – dynamic添加图像视图到ScrollView

我对Android很新,需要一些代码的帮助。 基本上我有一个硬币arrays,我想dynamic显示ScrollView中的硬币图像。 每次用户添加硬币时,视图都应该适当地更新。 谢谢! 这里是我想要做的一个截图 – http://img.androidcookie.com/android/3l2fxKw.png

从底部滚动隐藏的视图/布局

这是我想要实现的: 我想使用AbsoluteLayout,但不推荐使用。 因此,我在上图中的蓝色视图下创build了一个RelativeLayout,然后将所有内容放在一个ScrollView中,但是隐藏的视图仍然在蓝色视图上,而不是在其下面。 此外,屏幕滚动,但隐藏的部分只是切,而是我看到我的应用程序的默认背景.. 有任何想法吗? 编辑:我目前的尝试: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:fillViewport="true" android:layout_height="wrap_content"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:animateLayoutChanges="true" android:orientation="vertical" > <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/imageView" /> <LinearLayout android:id="@+id/centerHolder" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:orientation="vertical" > ….. ….. </LinearLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="1000dp" android:layout_below="@id/main_holder" android:background="@color/black_color"> </RelativeLayout> </RelativeLayout> </ScrollView>

如何防止其他视图被推出屏幕

这是XML的例子 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_margin="5dip" android:background="#FF992222"> <ScrollView android:layout_height="wrap_content" android:layout_width="fill_parent"> <LinearLayout android:layout_height="wrap_content" android:orientation="vertical" android:layout_width="fill_parent"> <TextView android:layout_width="wrap_content" android:text="TextView" android:layout_height="wrap_content" android:textSize="24dip"></TextView> </LinearLayout> </ScrollView> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_margin="5dip" android:background="#FF555555"> <TextView android:layout_width="wrap_content" android:text="TextView" android:layout_height="wrap_content" android:textSize="24dip"></TextView> </LinearLayout> </LinearLayout> 结果是这样的: 如果你注意到,上面的LinerLayout中的文本被包裹在LinearLayout和ScrollView中。 如果上面的内容保持添加,它会看起来像这样 底部Linearlayout将被推出屏幕之前,ScrollView变成活动,并使第一个内容成为可滚动的….我不希望发生这种情况… 我应该怎么做,使底部视图之前的滚动视图被推出这样的屏幕: (这是编辑的图像,而不是由Android布局编辑器创build) 希望这个问题清楚。谢谢:)

ScrollView跳转到EditText

当我启动我的应用程序,它会自动跳转到第一个“EditText”框。 我build在一个滚动条。 而当我删除滚动条,它不会跳到“EditText”框。 为什么它在“EditText”框中跳转? 我不喜欢它跳进那个盒子里。 :/ 这里的代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/textView1" android:layout_height="wrap_content" android:text="Brutto- oder Nettobetrag eingeben:" android:layout_width="fill_parent"> </TextView> <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/edt_betrag" android:layout_width="fill_parent" android:layout_height="fill_parent" android:inputType="numberDecimal"/> <RadioGroup android:id="@+id/rg_art" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/rb_art_netto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Netto" android:checked="true" /> <RadioButton android:id="@+id/rb_art_brutto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Brutto" /> <TextView […]

如何以编程方式创build滚动视图?

我有一个表“TABLE_SUBJECT”,其中包含一些主题。 我需要创build 带主题的一个水平滚动视图。 如何以编程方式创build与数据库项目的ScrollView? 如果我input一个主题,那么它将作为一个button出现在滚动视图中。 可能吗?

在ScrollView中的ViewPager

我需要在ScrollView有一个ViewPager但ViewPager在ScrollView中不会出现,当我不使用ScrollView时候一切正常。 我见过这样的问题在这里被问到在这里stackoverflow或在其他网站上,他们都已经被回答说,你必须把android:fillViewport="true"到你的滚动视图来解决这个问题,但这个解决scheme不工作对我来说,即使我在我的ScrollView有android:fillViewport="true" , ViewPager仍然不会出现。 我想在android api的东西有所改变,这个解决scheme不工作了,有没有人知道我怎么可能使一个ViewPager出现在ScrollView ? 更新:一个工作的滚动视图布局XML: <ScrollView android:id="@+id/scrollView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true"> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/itemsViewPager2" android:layout_width="fill_parent" android:layout_height="wrap_content" > </android.support.v4.view.ViewPager> </LinearLayout> </ScrollView>