今天做东西时碰到一个问题。

ScrollView时包含了普通的layout还有EditText.

布局如下:

 1 <ScrollView 2         android:layout_width="match_parent" 3         android:layout_height="wrap_content" 4         > 5         <LinearLayout 6             android:layout_width="match_parent" 7             android:layout_height="wrap_content" 8             android:orientation="vertical" 9             >10             <LinearLayout11                 android:layout_width="match_parent"12                 android:layout_height="wrap_content"13                 >14                 <TextView15                     android:layout_width="match_parent"16                     android:layout_height="50dip"17                     android:text="aa"18                     />19                 </LinearLayout>20             <LinearLayout21                 android:layout_width="match_parent"22                 android:layout_height="wrap_content"23                 android:background="@drawable/detail_back"24                 >25                 <EditText26                     android:layout_width="match_parent"27                     android:layout_height="wrap_content"28                     android:minHeight="600dip"29                     android:text="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa30                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa31                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa32                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa33                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa34                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa35                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa36                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa37                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa38                     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"39                     android:background="#00000000"40                     android:gravity="top"41                     />42                 </LinearLayout>43             </LinearLayout>44         </ScrollView>

然后显示里ScrollView总是自动向上滑了一点,滑到了EditText的位置,内容没有从最顶开始显示,非常影响使用。

这是因为EditText获取了焦点,ScrollView自动滑到了焦点位置。

解决办法1,去除EditText的焦点,EditTex的属性里,在xml里加上(或用代码设置):

1 android:focusable="false"2 android:focusableInTouchMode="false"

解决办法2,在代码里,调用

1 new Handler().postDelayed(new Runnable(){2 3             @Override4             public void run() {5                 // TODO Auto-generated method stub6                 //sv.scrollTo(0, 0);7                 scrollview.pageScroll(View.FOCUS_UP);8             }}, 10);

为啥要放handler里咧,因为直接调用没有响应,这是个耗时操作,延迟时间请自行调整。


推荐使用方法1.

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. MediaRecorderClient决定使用stagefright还是opencore实现录音录
  3. Android(安卓)ViewDragHelper使用介绍
  4. Android(安卓)glide-transformations 使用demo 实现Blur等效果
  5. listView单选实现(一)
  6. SeekBar的使用
  7. Android事件处理(6)
  8. android知识杂记(一)
  9. Android(安卓)通过包名打开App的代码

随机推荐

  1. 【Android】Android清除本地数据缓存代码
  2. Android安全论文汇集
  3. Android(安卓)Studio的.gitignore以及git
  4. [置顶] Android下实现自动关机的方法总结
  5. Android的MediaRecorder架构介绍
  6. android 的ListView中,判断其已滚动到最顶
  7. Android(安卓)动态添加View 并设置id
  8. Android(安卓)Studio安装Genymotion插件
  9. Android(安卓)不同API版本 向后兼容
  10. Android的Appwidget TextView中没有更新(