用ScrollView跟HorizontalScrollView互包
遇到一個問題就是,當我手指按下去,
先往左右移動就無法再上下移動,反之,先上下就無法再左右移動。
這樣對於看大圖滿不方便的,我想做成像webview一樣,在看大圖的時候可以任意移動,
(ex.手指壓著繞圈圈,圖片會跟著繞)
所以我分別在ScrollView跟HorizontalScrollView的OnTouchListener,
去呼叫另一種捲軸的事件。
s.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
hs.onTouchEvent(event);//當水平移動時就再執行垂直移動
return false;
}});
hs.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
s.onTouchEvent(event);//當垂直移動時就再執行水平移動
return false;
}});
s.addView(img);//把imageview放到垂直捲軸裡
hs.addView(s);//把垂直捲軸放到水平捲軸裡
//---------------------------------
這樣子做乍看之下很順利,可是發現一個問題,
(以hs包住s的情況)
把垂直捲軸拉到底,水平捲軸拉超過中間,這時候手指上下移動,圖片會自己跳到最右邊
(以s包住hs的情況)
把水平捲筒拉到最右邊,垂直捲軸拉超過中間,手指左右移動,圖片會自己跳到最下面
找了好幾天不知道問題出在哪裡,希望有人能幫忙,謝謝大家。
完整的程式碼下載:http://sentence.cc/TestScrollView.zip
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.12.13.160
※ 編輯: badhabit 來自: 60.250.41.98 (11/30 10:26)