나는 목록보기가 있습니다. 항목을 클릭하면 해당 항목에 대한 상세보기가 열립니다. 이 레이아웃에는 텍스트보기, ImageView Buttons
등과 같은 많은 위젯이 있습니다. 이제 항목의 세부 뷰를 슬라이드하여 목록의 다음 항목에 대한 상세 뷰를 표시하고 싶습니다. 마찬가지로 왼쪽에서 오른쪽으로 이전 항목.android : 슬라이드보기에서 왼쪽 또는 오른쪽으로 스 와이프
나는 슬라이딩 뷰를 구현할 수 없다. 목록에서 이전/다음 항목을 얻는 방법을 수행했다. 그러나 슬라이딩 실제 같은 내가 gesturedetector 시도 문제
입니다 Android: Swipe left to right and right to left
및 다른 예이다. 그러나 슬라이드하려고 할 때 아무런 효과가 없습니다. 나는 어떤 시각적 인 미끄러짐도 전혀 보지 못한다.
해결 방법?
이 코드 있지만 여전히 슬라이드 난 당신이 단순히 모든 텍스트 뷰를 채우는 데 사용하는 메소드를 호출 한 다음 제스처 리스너를 사용하고 필요로하고 당신이 가지고 imageviews 제대로 이해하면public class ProductActivity extends Activity implements OnGestureListener {
@
Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.product_details);
setContent();
}
private void setContent() {
Bundle extras = getIntent().getExtras();
TextView title = (TextView) findViewById(R.id.title);
title.setText(extras.getString("Title"));
TextView desc = (TextView) findViewById(R.id.desc);
desc.setText(extras.getString("Desc"));
Button buy = (Button) findViewById(R.id.buy);
String priceTag = ("$" + String.format("%.2g", extras.getDouble("Price")) + " Buy Now >>");
buy.setText(priceTag);
ImageView image = (ImageView) findViewById(R.id.productimage);
Utils.imageLoader.DisplayImage(extras.getString("Image"), image);
}
private static final int SWIPE_MIN_DISTANCE = 6; // 120;
private static final int SWIPE_MAX_OFF_PATH = 125; // 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 100; // 200;
private GestureDetector gestureScanner;
@
Override
public boolean onTouchEvent(MotionEvent me) {
return gestureScanner.onTouchEvent(me);
}
// @Override
public boolean onDown(MotionEvent e) {
// viewA.setText("-" + "DOWN" + "-");
return true;
}
// @Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// right to left swipe
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(getApplicationContext(), "Left Swipe",
Toast.LENGTH_SHORT).show();
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(getApplicationContext(), "Right Swipe",
Toast.LENGTH_SHORT).show();
} else if (e1.getY() - e2.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(getApplicationContext(), "Swipe up",
Toast.LENGTH_SHORT).show();
} else if (e2.getY() - e1.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(getApplicationContext(), "Swipe down",
Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
// nothing
}
return true;
}
@
Override
public void onLongPress(MotionEvent e) {
Toast mToast = Toast.makeText(getApplicationContext(), "Long Press",
Toast.LENGTH_SHORT);
mToast.show();
}
// @Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// viewA.setText("-" + "SCROLL" + "-");
return true;
}
// @Override
public void onShowPress(MotionEvent e) {
// viewA.setText("-" + "SHOW PRESS" + "-");
} // @Override
public boolean onSingleTapUp(MotionEvent e) {
Toast mToast = Toast.makeText(getApplicationContext(), "Single Tap",
Toast.LENGTH_SHORT);
mToast.show();
return true;
}
}
나는 마지막으로이 링크 (http://misha.beshkin.lv/android-swipe-gesture-implementation/)를 따랐습니다. 이것은 정확하게 내가 찾고 있었던 것이었다. 모든 도움을 주셔서 감사합니다 – png