我需要完全禁用我的列表視圖中的overscroll,這樣我才能實現我自己的overscroll功能。禁用三星Galaxy Tab 2.3.3上的listview overscroll android
只需將overscroll
模式設置爲OVERSCROLL_NEVER,在查看核心listview類時似乎很簡單。這在我的三星Galaxy S2的罰款工作。但不工作對於Galaxy Tab 2.3.3.
有沒有人有三星ListView定製,可以幫助我很多經驗?
我需要完全禁用我的列表視圖中的overscroll,這樣我才能實現我自己的overscroll功能。禁用三星Galaxy Tab 2.3.3上的listview overscroll android
只需將overscroll
模式設置爲OVERSCROLL_NEVER,在查看核心listview類時似乎很簡單。這在我的三星Galaxy S2的罰款工作。但不工作對於Galaxy Tab 2.3.3.
有沒有人有三星ListView定製,可以幫助我很多經驗?
您必須將listview的高度設置爲固定值。 如果你的內容是動態有一個很好的功能重置適配器後測量實際LISTSIZE:
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
listView.requestLayout();
}
你必須設置你的適配器後打電話到你的列表視圖作爲放慢參數此靜態方法。 你現在可以添加一個滾動視圖(裏面是你的列表視圖和其他視圖)。 我會說在2.3.3中的這種行爲是一個小錯誤......除了我描述的方式之外,沒有簡單的方法在scrollview中包含listview。 因此,他們推出了OVERSCROLL_NEVER模式:)
代碼來自DougW!
它爲我的三星Galaxy Tab(與Android 2.2):
try {
// list you want to disable overscroll
// replace 'R.id.services' with your list id
ListView listView = ((ListView)findViewById(R.id.services));
// find the method
Method setEnableExcessScroll =
listView.getClass().getMethod("setEnableExcessScroll", Boolean.TYPE);
// call the method with parameter set to false
setEnableExcessScroll.invoke(listView, Boolean.valueOf(false));
}
catch (SecurityException e) {}
catch (NoSuchMethodException e) {}
catch (IllegalArgumentException e) {}
catch (IllegalAccessException e) {}
catch (InvocationTargetException e) {}
不是我的解決方案,但對我的作品:)
輝煌!!!這真的爲我省了很多麻煩。你是怎麼知道要查找什麼方法名稱的,S2 API是公開的嗎? – npace 2013-05-17 11:45:52