修改对象如何为ListView加上快速滑块,是否可以修改快速滑块图像呢?

每日一贴,今天的内容关键字为修改对象

    1.android:fastScrollEnabled="true"

    2.Listview组件没有供给修改快速滑块的图像的API,因此不能直接修改,需要用java的反射技术修改

    每日一道理
如果你们是蓝天,我愿做衬托的白云;如果你们是鲜花,我愿做陪伴的小草;如果你们是大树,我愿做点缀的绿叶……我真诚地希望我能成为你生活中一个欢乐的音符,为你的每一分钟带去祝福。
listView1 = (ListView)findViewById(R.id.listView1);
		listView1.setFastScrollEnabled(true);
		//获得FastScroller对象
		try {
			Field field = AbsListView.class.getDeclaredField("mFastScroller");
			field.setAccessible(true);
			Object obj = field.get(listView1);
			//获得FastScroller.mThumbDrable变量的Field对象
			field = field.getType().getDeclaredField("mThumbDrawable");
			field.setAccessible(true);
			//获得FastScroller.mThumbDrable的值
			Drawable drawable = (Drawable)field.get(obj);
			drawable = getResources().getDrawable(R.drawable.ic_launcher);
			field.set(obj, drawable);
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

    运行效果:

    修改和对象

文章结束给大家分享下程序员的一些笑话语录: 人脑与电脑的相同点和不同点,人脑会记忆数字,电脑也会记忆数字;人脑会记忆程序,电脑也会记忆程序,但是人脑具有感知能力,这种能力电脑无法模仿,人的记忆会影响到人做任何事情,但是电脑只有程序软件。比尔还表示,人脑与电脑之间最重要的一个差别就是潜意识。对于人脑存储记忆的特别之处,比尔表示,人脑并不大,但是人脑重要的功能是联络,人脑会把同样的记忆存储在不同的地方,因此记忆读取的速度就不相同,而这种速度取决于使用的频率和知识的重要性。人脑的记忆存储能力会随着年龄增长而退化,同时记忆的质量也会随着年龄退化。经典语录网

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3076847.html