Я хотел бы иметь активность, которая представляет приложение и быть закрытым, вам нужно пронести его справа налево (возможно, с гладким если это не слишком много работы), то есть другая часть приложения, которое у меня уже есть, то есть ActionBar tabs + Swipe Views
. Я прочитал несколько руководств по Android, таких как implement Swipe Views, но они не были моим делом. Не могли бы вы мне помочь? [С «плавной анимации» Я имею в виду, что красть должен следовать за палец]Закройте одно действие, прокручивая справа налево с гладкой анимацией, чтобы перейти ко второму действию
3
A
ответ
6
Я обычно достичь этого с помощью жестов слушателя:
Во-первых, определить перевода анимации в res/anim
:
slide_in_left.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-50%p" android:toXDelta="0"
android:duration="@android:integer/config_longAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
slide_in_right.x мл:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="50%p" android:toXDelta="0"
android:duration="@android:integer/config_longAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
slide_out_left.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-50%p"
android:duration="@android:integer/config_longAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
slide_out_right.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="50%p"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
Затем в течение текущего класса деятельности:
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
try {
float slope = (e1.getY() - e2.getY())/(e1.getX() - e2.getX());
float angle = (float) Math.atan(slope);
float angleInDegree = (float) Math.toDegrees(angle);
// left to right
if (e1.getX() - e2.getX() > 20 && Math.abs(velocityX) > 20) {
if ((angleInDegree < 45 && angleInDegree > -45)) {
startActivity(new Intent(CurrentActivitiy.this, NextActivity.class);
CurrentActivity.this.overridePendingTransition(
R.anim.slide_in_left, R.anim.slide_out_right);
finish();
}
// right to left fling
} else if (e2.getX() - e1.getX() > 20
&& Math.abs(velocityX) > 20) {
if ((angleInDegree < 45 && angleInDegree > -45)) {
startActivity(new Intent(CurrentActivitiy.this, NextActivity.class);
CurrentActivity.this.overridePendingTransition(
R.anim.slide_in_right, R.anim.slide_out_left);
finish();
}
}
return true;
} catch (Exception e) {
// nothing
}
return false;
}
}
Вы можете зарегистрировать любое представление, чтобы получить/прослушивание жестов:
final GestureDetector gestureDetector = new GestureDetector(new MyGestureDetector());
//the parent layout
findViewById(R.id.parent_layout).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) return false;
return false;
}
});
//an image view
findViewById(R.id.image_view).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) return false;
return false;
}
});
// a text view
findViewById(R.id.text_view).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) return false;
return false;
}
});
+1
Спасибо за ваш ответ, на самом деле очень полезно. Но я забываю упомянуть, что с «гладкой анимацией» я подразумеваю, что салфетка должна следовать за моим пальцем. Виноват :) – Rick
Смежные вопросы
- 1. Как перейти ко второму предыдущему действию в ASP: NET MVC
- 2. возобновить первое действие снова, а не перейти к второму действию
- 3. Почему данные не могут перейти ко второму действию
- 4. Строка, не переходящая ко второму действию Android
- 5. Намерение не переходит ко второму моему действию
- 6. Перейти ко второму диспетчеру просмотра в NavigationViewController
- 7. Vim: Как перейти ко второму последнему праву?
- 8. Можно сразу перейти ко второму зрению в ViewAnimator
- 9. iOS - перейти ко второму uiviewcontroller некоторой вкладки с другой вкладки
- 10. Включить идентификатор от MySQL к каждому элементу в ListView и перейти ко второму действию
- 11. сделать div-контент автопрокруткой справа налево с приятной анимацией
- 12. Передача Пользовательский ввод от mainactivity ко второму действию в eclipse
- 13. как проигнорировать первое событие и перейти ко второму?
- 14. Как Карта Два проекта в одном решении и как Перенаправить на одно действие проекта ко второму действию проекта
- 15. справа налево Resize Animation
- 16. Мое приложение останавливается после первого действия. Он должен перейти ко второму, а затем к третьему действию
- 17. перестраивать поле справа налево?
- 18. jQuery UI Autocomplete, чтобы развернуть справа налево
- 19. Установите мой параграф, чтобы писать справа налево
- 20. Передача данных от первых действий ко второму, второму действию в третью активность в android
- 21. Как перейти на определенный символ справа налево строки в Vim
- 22. jQuery текстовая анимация справа налево
- 23. jQuery UI: Анимация справа налево
- 24. Flickr API - Получить идентификатор изображения и перейти ко второму запросу
- 25. Android угасает справа налево
- 26. справа налево закусочной
- 27. Аргумент читается справа налево
- 28. Частичное приложение справа налево?
- 29. Perl заменить справа налево
- 30. Вход TextBox справа налево
Если у вас есть панель действий и красть взгляды, то вы сделали, я бы сказал. Чего не хватает? – greenapps
В этом упражнении не должно быть вкладки, только пустой активности. – Rick
Пустая деятельность? – greenapps