Android-scrollview嵌套listview、webview、gridview不置顶问题
2017-07-17 15:25
507 查看
解决scrollview嵌套listview、gridview滑动冲突常见方式:
但是有时候会发现,如果listview上面还有其他布局,比如:TextView,可能会发现进入界面后,看不到TextView,
为了解决scrollview和listview冲突 设置了listview的高度 , 结果进页面就不是在顶部了 。
2、因为listview获取了焦点。
注意:需在listview数据加载完成后调用。
2、 在代码里去掉listview的焦点(推荐)
3、Listview外套一层LinearLayout
4、跟EditText一样,在父元素的属性下面,加上这两行即可
5、最开始的时候让最上面其中一个控件获得焦点,滚动条自然就到顶部去了,如下:
package com.jukopro.titlebarcolor; import android.content.Context; import android.util.AttributeSet; import android.widget.ListView; public class MyListview extends ListView { public MyListview(Context context) { super(context); } public MyListview(Context context, AttributeSet attrs) { super(context, attrs); } public MyListview(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }
但是有时候会发现,如果listview上面还有其他布局,比如:TextView,可能会发现进入界面后,看不到TextView,
为了解决scrollview和listview冲突 设置了listview的高度 , 结果进页面就不是在顶部了 。
原因:
1、在Activity计算窗口的高度时,是在listview没有填充数据时候就完成的,由于ScrollView嵌套listview时没有指定高度,所以ScrollView就会按照layout中定义的默认高度计算。2、因为listview获取了焦点。
解决方式:
1、设置滚动sv_container.smoothScrollTo(0,0);
注意:需在listview数据加载完成后调用。
2、 在代码里去掉listview的焦点(推荐)
lv.setFocusable(false);
3、Listview外套一层LinearLayout
4、跟EditText一样,在父元素的属性下面,加上这两行即可
android:focusableInTouchMode=”true” android:focusable=”true”
5、最开始的时候让最上面其中一个控件获得焦点,滚动条自然就到顶部去了,如下:
txtBaseMsg.setFocusable(true); txtBaseMsg.setFocusableInTouchMode(true); txtBaseMsg.requestFocus();
参考:
Android问题:ScrollView默认位置不是最顶部最全解决方案相关文章推荐
- ScrollView中若嵌套有滑动的控件(如:WebView,ListView或GridView)焦点问题
- ScrollView中若嵌套有滑动的控件(如:WebView,ListView或GridView)时的焦点问题
- ScrollView中若嵌套有滑动的控件(如:WebView,ListView或GridView),另外该界面中还有其它的控件时,界面不显示最上面控件的问题。
- Android在ScrollView中嵌套ViewPager以及ListView的可能出现的问题以及解决方案
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- Android ViewPager、ScrollView或ListView嵌套WebView滑动冲突
- android listview嵌套viewpager,viewpager嵌套gridview,解决内嵌无法显示以及时间冲突的问题
- Android ScrollView 下嵌套 ListView 或 GridView出现问题解决办法
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- android之ScrollView里嵌套ListView,gridview,scrollview
- android ScrollView嵌套viewpager,viewpager嵌套gridview,解决内嵌无法显示的问题
- android中viewpager,scrollview、listview的嵌套问题
- android ScrollView嵌套listView gridView 引发的自动滑动问题
- ScrollView嵌套ListView,GridView,ViewPager,以及这些控件自动滚动到底部问题的解决
- ScrollView嵌套ListView,GridView,ViewPager,以及这些控件自动滚动到底部问题的解决
- Android ScrollView嵌套Viewpager嵌套ListView切换时到顶部或位置改变问题解决
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- ScrollView嵌套ListView,GridView,ViewPager,以及这些控件自动滚动到底部问题的解决
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- [置顶] ScrollView嵌套 ListView、RecyclerView、GridView 、WebView 出现的高度显示问题