androidlistview滚动条
‘壹’ android 怎么样获得listview的滚动条位置
(1)获取这一条在新Cursor中的位置(posiition)
(2)获取这一条在更换Cursor后ListView中的位置。
(4)由于ListView的可滚动的属性,我们需要记录更换Cursor前可视的第一条item的索引(ListView.getFirstVisiblePosition())
(3)区分FirstVisiblePosition是0和大于0的情况。由于header,也就是图中的Loading那一条在新数据出来后是会消失的。
(4)当FirstVisiblePosition为0时实际指向的是header,我们要保持位置不变的是header下面第一条(R)的位置。那么此时要设置FirstVisiblePosition为1
(5)当FirstVisiblePosition大于0时实际指向的就是item,但是我们需要设置FirstVisiblePosition为0。*
(6)我们根据FirstVisiblePosition用ListView.getChildAt(int position)函数获取对应的item的View,再根据View.getTop()函数获取到ListView顶部的距离Y。
这样ListView.setSelectionFromTop(int position, int y)所需的两个参数 position 和 y就都有了。
*注解:ListView.getChildAt(int position), 这个position指的是在可视的item中的索引,跟cursor里的位置是大不一样的。可以看看ListView.getChildCount()函数得到个数是小于或等于Cursor里的个数的(不考虑header的话)。虽然一共可能有20条数据,但是界面只能看到8条,那么这个ChildCount大约就是8了。另一方面, FirstVisiblePosition取出的是在总的条数中的索引,再将会消失的header考虑进来,所以就是 FirstVisiblePosition为0时要设为1,大于0时又要设为0。
‘贰’ 怎样使ListView的滚动条滚动到最下方
在Scrollview里面添加了listview,注意由于两这会有滚动条的冲突,因此listview一定要自已复写, 代码有真相: public class CompleteListView extends ListView { public CompleteListView(Context context, AttributeSet attrs) { super(conte.
‘叁’ 如何获取listview滚动条的精确位置android开发问答android开发
(1)获取这一条在新Cursor中的位置(posiition)
(2)获取这一条在更换Cursor后ListView中的位置。
(4)由于ListView的可滚动的属性,我们需要记录更换Cursor前可视的第一条item的索引(ListView.getFirstVisiblePosition())
(3)区分FirstVisiblePosition是0和大于0的情况。由于header,也就是图中的Loading那一条在新数据出来后是会消失的。
(4)当FirstVisiblePosition为0时实际指向的是header,我们要保持位置不变的是header下面第一条(R)的位置。那么此时要设置FirstVisiblePosition为1
(5)当FirstVisiblePosition大于0时实际指向的就是item,但是我们需要设置FirstVisiblePosition为0。*
(6)我们根据FirstVisiblePosition用ListView.getChildAt(int position)函数获取对应的item的View,再根据View.getTop()函数获取到ListView顶部的距离Y。
这样ListView.setSelectionFromTop(int position, int y)所需的两个参数 position 和 y就都有了。
*注解:ListView.getChildAt(int position), 这个position指的是在可视的item中的索引,跟cursor里的位置是大不一样的。可以看看ListView.getChildCount()函数得到个数是小于或等于Cursor里的个数的(不考虑header的话)。虽然一共可能有20条数据,但是界面只能看到8条,那么这个ChildCount大约就是8了。另一方面, FirstVisiblePosition取出的是在总的条数中的索引,再将会消失的header考虑进来,所以就是 FirstVisiblePosition为0时要设为1,大于0时又要设为0。
‘肆’ android listview怎么把滚动条去掉
setScrollbarFadingEnabled(true);
Define whether scrollbars will fade when
the view is not scrolling.
不活动的时候隐藏,活动的时候显示
setVerticalScrollBarEnabled(true);
不活动的时候隐藏,活动的时候也隐藏
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<TextView android:id="@+id/showhtml"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</ScrollView>
android:scrollbars="none"与
setVerticalScrollBarEnabled(true);
‘伍’ android中怎样设置滚动条
mThumbDrawable 这个文件没有,根本为崩溃; 并不是方法不好用,是你没有抄全; 在实际应用中,该代码会出现异常,通过对几个sdk源码的对比,发现Google会对其中的属性做一些微调: 如在5.x中,“mFastScroller”改为了“mFastScroll”,4.4中则把“mThumbDrawable”改为“thumbDrawable”并设为了final,在5.x中又恢复成了private. 所以在实际应用中还需加以判断。下面是针对4.4修改后的代码: 由于class FastScroller没有public属性,无法直接导包获取到,所以从用到该类的AbsListView中获取。 try { Field f = AbsListView.class.getDeclaredField("mFastScroller"); //获取AbsListView中的属性mFastScroller f.setAccessible(true);//设置属性可修改 Object o = f.get(listview);//得到listview实例 // Field[] fields = f.getType().getDeclaredFields(); // for (Field field : fields) { // Log.v("TAG", field.getName()); // } //查看所有属性名 f = f.getType().getDeclaredField("mThumbImage");//获取属性mThumbImage(由于 4.4中的thumbDrawable不可修改,所以直接取其imageview) f.setAccessible(true); ImageView img = (ImageView) f.get(o); //得到ImageView实例 img.setImageDrawable(getResources().getDrawable(R.drawable.icon)); f.set(o, img); //把编辑好的ImageView放进去 } catch (Exception e) { throw new RuntimeException(e); }
‘陆’ android 如何给listview添加横向滚动条,网上说的在listview外层加horizontalscrollview没有用啊
谁说没用,亲测可以
xml布局里写:
<HorizontalScrollView
android:layout_width="200dp"
android:layout_height="fill_parent">
<ListView
android:layout_width="400dp"
android:layout_height="fill_parent"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:scrollingCache="false"
/>
</HorizontalScrollView>
一个横向滚动且纵向滚动的listView不就出来了
‘柒’ 如何去掉Android ListView的滚动条
setScrollbarFadingEnabled(true);
Define whether scrollbars will fade when
the view is not scrolling.
不活动的时候隐藏,活动的时候显示
setVerticalScrollBarEnabled(true);
不活动的时候隐藏,活动的时候也隐藏
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<TextView android:id="@+id/showhtml"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</ScrollView>
android:scrollbars="none"与
setVerticalScrollBarEnabled(true);
‘捌’ 如何动态为ListView添加和隐藏滚动条
android:fadeScrollbars="true" 配置ListView布局的时候,设置这个属性为true就可以实现滚动条的自动隐藏和显示。
‘玖’ Android: ListView怎么自定义滚动条的宽度、高度、背景
你好, <ListView
android:id="@+id/mylist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fastScrollEnabled="true"
android:focusable="true"
android:scrollbarSize="50dp" >
</ListView>
这是listView的xml文件
list = (ListView)this.findViewById(R.id.mylist);
try {
Field f = AbsListView.class.getDeclaredField("mFastScroller");
if(!f.isAccessible()){
f.setAccessible(true);
}
Object o = f.get(list);
f = f.getType().getDeclaredField("mThumbDrawable");
f.setAccessible(true);
Drawable drawable=(Drawable) f.get(o);
drawable = getResources().getDrawable(R.drawable.btn_back);
f.set(o,drawable);
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
这是listView滚动条设置的背景,希望可以帮助到你