zoukankan      html  css  js  c++  java
  • 解决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.   
    10.         <LinearLayout  
    11.             android:layout_width="match_parent"  
    12.             android:layout_height="match_parent"  
    13.             android:orientation="vertical"  
    14.             android:paddingLeft="10dp"  
    15.             android:paddingRight="10dp"  
    16.             android:focusable="true"  
    17.             android:focusableInTouchMode="true"     
    18.             android:paddingTop="15dp" >  
    19. <!-- 上面这两行是控制scrollview   
    20.             android:focusable="true"  
    21.             android:focusableInTouchMode="true"     
    22. 不自动的关键! !-->  
    23.   
    24.   
    25.             <LinearLayout  
    26.                 android:layout_width="match_parent"  
    27.                 android:layout_height="wrap_content"  
    28.                 android:orientation="vertical" >  
    29.   
    30.                 <ListView  
    31.                     android:id="@+id/lv_gc"  
    32.                     android:layout_marginTop="5dp"  
    33.                     android:layout_width="match_parent"  
    34.                     android:layout_height="20dp"  
    35.                     android:background="#aaffffff"  
    36.                     android:divider="#666"               
    37.                     android:scrollbars="none|vertical" >  
    38.   
    39.                 </ListView>  
    40.   
    41.             </LinearLayout>  
    42.         </LinearLayout>  
    43. </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

  • 相关阅读:
    Minimum Depth of Binary Tree leetcode java
    Maximum Depth of Binary Tree leetcode java
    Symmetric Tree leetcode java
    Same Tree leetcode java
    Binary Tree Postorder Traversal leetcode java
    Binary Tree Preorder Traversal leetcode java
    Binary Tree Inorder Traversal leetcode java
    Combinations leetcode java
    一键清除Centos iptables 防火墙所有规则
    阿里云centos7.7x64安装open,并配置ip转发和nat伪装
  • 原文地址:https://www.cnblogs.com/EasyLive2006/p/7466638.html
Copyright © 2011-2022 走看看