禁止ScrollView自動滾動

2021-07-25 10:04:03 字數 507 閱讀 9223

問題:

最近仿365日曆, scrollview下面巢狀了viewpager + listview,  切換日歷時scrollview會自動滾動,導致體驗不好, 原來是因為listview獲取了焦點,導致scrollview會跟隨滾動.

解決方案:

在scrollview下面的linearlayout加上android:descendantfocusability="blocksdescendants"屬性, 截獲listview的焦   點, 從而達到禁止scrollview自動滾動.

順便解釋下這個屬性的其他用法:

該屬性是當乙個為view獲取焦點時,定義viewgroup和子控制項兩者之間的關係。屬性的值有三種:

beforedescendants:viewgroup會優先其子類控制項而獲取到焦點

afterdescendants:viewgroup只有當其子類控制項不需要獲取焦點時才獲取焦點

blocksdescendants:viewgroup會覆蓋子類控制項而直接獲得焦點

Android 控制ScrollView滾動到底部

在開發中,我們經常需要更新列表,並將列表拉倒最底部,比如發表微博,聊天介面等等,這裡有兩種辦法,第一種,使用scrollto public static void scrolltobottom final view scroll,final view inner int offset inner.g...

ScrollView與GridView滾動發生衝突

當gridview巢狀在scrollview裡時,發現gridview只顯示了一行。這是因為gridview有自己的滾動條,而scrollview也有自己的滾動條,兩者發生了衝突。解決方法是重寫gridview的onmesure方法,使其不再出現滾動條 public class mygridview...

Android 控制ScrollView滾動到底部

在開發中,我們經常需要更新列表,並將列表拉倒最底部,比如發表微博,聊天介面等等,這裡有兩種辦法 一 使用scrollto 這種實現相對比較麻煩,更推薦使用第二種方式。public static void scrolltobottom final view scroll,final view inne...