解决Android中,禁止ScrollView内的控件改变之后自动滚动 - 转

问题:

最近在写一个程序界面,有一个scrollVIew,其中有一段内容是需要在线加载的。

当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚,如下图所示:

滚动的那一下体验特别不好,所以要防止这种情况。即不论Scrollview中内容如何,都要保持在最上。

解决办法:

先简单写一下我的xml文件的结构:

[html] view plain copy

  1. <ScrollView
  2. android:id="@+id/scrollView1"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:layout_alignParentLeft="true"
  6. android:layout_below="@+id/linearLayout2"
  7. android:background="@drawable/repeat_bg"
  8. android:paddingBottom="5dp" >
  9. <LinearLayout
  10. android:layout_width="match_parent"
  11. android:layout_height="match_parent"
  12. android:orientation="vertical"
  13. android:paddingLeft="10dp"
  14. android:paddingRight="10dp"
  15. android:focusable="true"
  16. android:focusableInTouchMode="true"
  17. android:paddingTop="15dp" >
  18. <!-- 上面这两行是控制scrollview
  19. android:focusable="true"
  20. android:focusableInTouchMode="true"
  21. 不自动的关键! !-->
  22. <LinearLayout
  23. android:layout_width="match_parent"
  24. android:layout_height="wrap_content"
  25. android:orientation="vertical" >
  26. <ListView
  27. android:id="@+id/lv_gc"
  28. android:layout_marginTop="5dp"
  29. android:layout_width="match_parent"
  30. android:layout_height="20dp"
  31. android:background="#aaffffff"
  32. android:divider="#666"
  33. android:scrollbars="none|vertical" >
  34. </ListView>
  35. </LinearLayout>
  36. </LinearLayout>
  37. </ScrollView>

如上面代码,我的ScrollView中第一个内容是LinearLayout,下面有一个LinearLayout包裹着的ListView.ListView是长度可变的。

将LinearLayout中加入代码:

[html] view plain copy

  1. android:focusable="true"
  2. android:focusableInTouchMode="true"

问题即可解决,欢迎大家交流。

转载请注明来自:http://blog.csdn.net/icyfox_bupt/article/details/15026299

时间: 2024-10-09 22:46:19

解决Android中,禁止ScrollView内的控件改变之后自动滚动 - 转的相关文章

解决Android中,禁止ScrollView内的控件改变之后自动滚动

问题: 最近在写一个程序界面,有一个scrollVIew,其中有一段内容是需要在线加载的. 当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚,如下图所示: 滚动的那一下体验特别不好,所以要防止这种情况.即不论Scrollview中内容如何,都要保持在最上. 解决办法: 先简单写一下我的xml文件的结构: [html] view plaincopy <ScrollView android:id="@+id/scrollView1" a

禁止ScrollView内的控件高度改变之后自动滚动

在scrollview的第一个layout里面加入 android:focusable="true" android:focusableInTouchMode="true"

解决tableView中cell动态加载控件的重用问题

tableView的cell,有时候需要在运行时取得对应的数据后才能够动态的创建该cell中的控件并加载到该cell中,此时,你一定会遇到重用问题,即使你能做到该cell只根据数值加载了一回控件,你也没法保证不出现重用问题:) 效果(请注意查看,移动下面的格子时,上面出现了重用的问题) 源码: YXCell.h // // YXCell.h // YXTableView // // Copyright (c) 2014年 Y.X. All rights reserved. // #import

[转]android中最好的瀑布流控件PinterestLikeAdapterView

PinterestLikeAdapterView 项目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView 使用方法类似于ListView下面是我使用该控件实现一个显示系统图片的简单应用: 1 <?xml version="1.0" encoding="utf-8"?> 2 <merge xmlns:android="http://schemas.android.com/apk/

xib或storyBoard中往scrollView添加子控件

如何在xib或者storyBoard中的scrollView加拖拽子控件,并且能让它可以正常滚动,那么下面就为大家简单演示: 运行环境为:Xcode 7.3 备注:图片较大,如果看不清看可以右键鼠标在新标签中打开图片就很清晰了 1.如图我们往storyBoard拖拽一个scrollView并设置为上下左右约束距离父控件为0 2.当我们往scrollView中添加子控件时候却发现报错了 因为scrollView比较特殊,需要设置contentSize,这个错误和平常我们遇到的错误不一样,因为在这两

Android中进度条类型的控件定义和妙用技巧

Android中进度条控件有3个(不算ProgressDialog),分别是ProgressBar,SeekBar和RatingBar,对于自定义样式来说又得按照需求分为2中情况,第一种是刻度型,第二种是循环类型. 第一种是"刻度型",也就是他有起点和终点,起点值小于终点值 这种样式的修改,要修改三个属性即可 分别是:背景(主要是进度的轨道样式),第一级别滚动条progressDrawable,第二级别progressDrawable 遗憾的是Android提供的api很难设置,不过可

Android文字跑马灯控件(文本自动滚动控件)

最近在开发一个应用,需要用到文本的跑马灯效果,图省事,在网上找,但老半天都找不到,后来自己写了一个,很简单,代码如下: import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; impor

android中与Adapter相关的控件----Spinner&amp;AutoCompleteTextView

Spinner(列表选项框) & AutoCompleteTextView(自动完成文本框) 一.列表选项框核心属性 android:dropDownHorizontalOffset设置列表框的水平偏移距离 android:dropDownVerticalOffset设置列表框的水平竖直距离 android:dropDownSelector设置列表被选中时背景 android:dropDownWidth设置下拉列表框的宽度 android:gravity设置里面组件的对其方式 android:p

【安卓】给gallery内&amp;quot;控件&amp;quot;挂载事件,滑动后抬起手指时也触发事件(滑动时不应触发)的解决、!

思路: 1.gallery内控件挂载事件(如:onClickListener)的方法类似listview,可直接在baseAdapter.getView内给控件挂载(详细方法百度). 2.貌似没问题,但滑动后(手指在挂载了事件的控件上)抬起手指时仍会触发事件,这是不正确的. 解决方法时,若为滑动(x有偏移),则在gallery.onInterceptTouchEvent中拦截事件,子控件自然接受不到事件. 注:1>不能简单的推断x有偏移就拦截,有些设备犯贱,即使原地抬起也有可能有偏移,此时本应触