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滾動條設置的背景,希望可以幫助到你