반응형
=================================
=================================
=================================
출처: http://www.androidpub.com/1430427
안녕하세요~
위에 참고해서 따로 구현 코드
이기능 구현하자고 자료들을 보았는데 신통히 나온것이 없어 정리하여 올려봅니다.
유용하게 사용하시기를...
근데 대각선으로 스크롤 할때 스크롤바가 다 나타나지 않습니다.
혹시 수정하신분 있으시면 알려주세요. 감사합니다.
[xml 내용]
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id = "@+id/imageViewVerticalScroll"
android:layout_width="200dip"
android:layout_height="300dip">
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id = "@+id/imageViewHorizontalScroll"
android:layout_width="200dip"
android:layout_height="400dip">
<ImageView android:id="@+id/fullImgView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg2">
</ImageView>
</HorizontalScrollView>
</ScrollView>
[class 소스]
public class mainscv extends Activity implements OnTouchListener {
private static HorizontalScrollView Scroll_Horizontal;
private static ScrollView Scroll_Vertical;
protected static int currentX = 0;
protected static int currentY = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Scroll_Vertical = (ScrollView) findViewById(R.id.imageViewVerticalScroll);
Scroll_Vertical.setOnTouchListener(this);
Scroll_Horizontal = (HorizontalScrollView) findViewById(R.id.imageViewHorizontalScroll);
Scroll_Horizontal.setOnTouchListener(this);
}
public static void scrollBy(int x, int y)
{
Scroll_Horizontal.scrollBy(x, 0);
Scroll_Vertical.scrollBy(0, y);
}
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
currentX = (int)event.getRawX();
currentY = (int)event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
int x2 = (int)event.getRawX();
int y2 = (int)event.getRawY();
scrollBy(currentX-x2, currentY-y2);
currentX = x2;
currentY = y2;
break;
case MotionEvent.ACTION_UP:
break;
default:
currentX = (int)event.getRawX();
currentY = (int)event.getRawY();
break;
}
currentX = (int)event.getRawX();
currentY = (int)event.getRawY();
return true;
}
}
위에 참고해서 따로 구현 코드
=================================
=================================
=================================
반응형
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 로우레벨 터치 이벤트로 큰 이미지 스크롤 (0) | 2011.07.18 |
---|---|
안드로이드 Making Sense of Multitouch (0) | 2011.07.18 |
안드로이드 matrix 크기 얻기 (0) | 2011.07.14 |
안드로이드 수평 스크롤뷰~ (0) | 2011.07.14 |
안드로이드 이미지 뷰어 멀티 터치 줌 관련 (2) | 2011.07.14 |