import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.HorizontalScrollView; import android.widget.ScrollView; import com.accenture.yncc.R; /** * @author jong-hyun.jeong * */ public class scroll extends DSDetailBaseActivity implements OnTouchListener, OnClickListener { /** * Scroll control을 위한 layout */ private static HorizontalScrollView mScrollHorizontal; private static ScrollView mScrollVertical; private static ScrollView mCellScrollVertical; private static HorizontalScrollView mCellScrollHorizontal; protected static int mCurrentX = 0; protected static int mCurrentY = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ds_detail_activity, false); init(); } private void init() { // Scroll mCellScrollVertical = (ScrollView) findViewById(R.id.table_cell_vertical_scroll); mCellScrollHorizontal = (HorizontalScrollView) findViewById(R.id.table_cell_horizontal_scroll); mScrollVertical = (ScrollView) findViewById(R.id.table_vertical_scroll); mScrollHorizontal = (HorizontalScrollView) findViewById(R.id.table_horizontal_scroll); } @Override public void onClick(View v) { switch (v.getId()) { // case R.id.login_button : } } /** * Detail 뷰에서 테이블을 스크롤 한다. * * @param x * @param y */ public static void scrollBy(int x, int y) { mScrollHorizontal.scrollBy(x, 0); mScrollVertical.scrollBy(0, y); mCellScrollVertical.scrollBy(0, y); mCellScrollHorizontal.scrollBy(x, 0); } public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mCurrentX = (int) event.getRawX(); mCurrentY = (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE: int movingX = (int) event.getRawX(); int movingY = (int) event.getRawY(); scrollBy(mCurrentX - movingX, mCurrentY - movingY); mCurrentX = movingX; mCurrentY = movingY; break; case MotionEvent.ACTION_UP: break; default: mCurrentX = (int) event.getRawX(); mCurrentY = (int) event.getRawY(); break; } mCurrentX = (int) event.getRawX(); mCurrentY = (int) event.getRawY(); return true; } }