У меня есть плавник:Android: ScrollView в ласт
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/ParentLayout"
xmlns:android="http://schemas.android.com/apk/res/android" style="@style/MainLayout" >
<LinearLayout android:id="@+id/FlipperLayout" style="@style/FlipperLayout">
<ViewFlipper android:id="@+id/viewflipper" style="@style/ViewFlipper">
<!--adding views to ViewFlipper-->
<include layout="@layout/home1" android:layout_gravity="center_horizontal" />
<include layout="@layout/home2" android:layout_gravity="center_horizontal" />
</ViewFlipper>
</LinearLayout>
</LinearLayout>
Первый макет, home1, состоит из зрения прокрутки. Что мне делать, чтобы отличить жестом с переворачиванием и прокруткой? В настоящее время:
- если я удалю вид прокрутки, я могу ударить по
- если добавить вид прокрутки, я могу только прокрутки.
Я видел предположение, что я должен переопределить onInterceptTouchEvent (MotionEvent), но я не знаю, как это сделать. Мой код, на данный момент, выглядит следующим образом:
public class HomeActivity extends Activity {
-- declares
@Override
public void onCreate(Bundle savedInstanceState) {
-- declares & preliminary actions
LinearLayout layout = (LinearLayout) findViewById(R.id.ParentLayout);
layout.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}});
@Override
public boolean onTouchEvent(MotionEvent event) {
gestureDetector.onTouchEvent(event);
return true;
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
// http://www.codeshogun.com/blog/2009/04/16/how-to-implement-swipe-action-in-android/
}
}
}
Может кто-нибудь, пожалуйста, руководство меня в правильном направлении?
спасибо.
благодарственное вы за свой очень быстрый ответ. На самом деле я думал о способе захвата события движения на уровне ParentLayout (тот, который окружает флиппер), и решить на этом уровне, является ли жест горизонтальным (для учета флиппером) или вертикальный (для передачи в прокрутку). Именно поэтому onInterceptTouchEvent показался мне правильным. Так что нет способа достичь того, что я имел в виду? – Manu
Возможно, я не совсем уверен, чего вы пытаетесь достичь. что такое home1 и home2, и что должен делать каждый жест? что должно делать ваше приложение? – mtmurdock
Макеты home1 и home2 содержат в себе несколько кнопок изображения, каждая кнопка изображения запускает действие. home1 и home2 включены в макет, называемый home, один из которых содержит плавник. Теперь: когда пользователь перебирает все, мне нужно отобразить следующий макет дома, который делает плавник. Но так как у них много кнопок изображения, когда телефон находится в ландшафтном режиме, они не подходят на экране всем, поэтому мне нужно прокрутить макет home1. –
Manu