我現在正在工作,爲了禁用水平滾動的horizontalscrollview(ID:ordermenu)其中scrollview(我的意思是垂直scrollview ID的scrollview的孩子relativelayout:category01layout ,category02layout,...)作爲孩子。Android-禁用水平滾動的horizontalscrollview作爲子視圖滾動視圖
這裏是什麼樣子的XML:
HorizontalScrollView(ordermenu)
- LinearLayout中
- 滾動型
- RelativeLayout的(category01layout)
- 滾動型
- 的RelativeLayout(category02layout)
...
- 滾動型
- RelativeLayout的(category08layout)
屏幕顯示每次一個類別的佈局,當我按上一頁/下一頁按鈕,它將設置horizontalscrollview.smoothScrollTo()更改類別佈局。
所以當我運行應用程序並滾動時,我的手指正在滾動HorizontalScrollView和ScrollView。但我不想讓我的手指讓這兩個人聽onScrollChanged。我只希望ScrollView聽我的手指'只能垂直滾動'。由於我不知道如何做到這一點,所以只有當我以精確的垂直方向滾動時,ScrollView才能以平滑的方式垂直滾動。否則,我的手指也滾動HorizontalScrollView,我沒有想到。
那麼有什麼辦法可以禁用水平滾動並只啓用垂直滾動嗎?
我以前用這個方法(創建延伸HorizontalScrollView類)
@Override
protected void onScrollChanged(int x, int y, intoldx, intoldy){
if(Math.abs(x - oldx) <= 50){
mScrollable = false;
}
else {
mScrollable = false;
}
return;
}
但這只是造成了很大的負擔,爲用戶界面,使垂直滾動滾動型太僵硬和緩慢的。所以請給我另一種方式比這個。
在此先感謝。
是的,所以我改變了viewflipper裏面的滾動視圖的代碼。謝謝〜 – Macchiato13
真棒:)很高興你有它的工作。 – dmon