Я не думаю, что ViewFlipper - это то, что вы хотите использовать.Вы можете использовать GestureDector , чтобы получить обратные вызовы для движения пальцем влево и вправо.Затем в вашем обратном вызове вы можете сделать что-то вроде этого:
OnRightSwipe(){
Intent ident = new Intent(YourActivity.this, DetailedActivity.class);
ident.putExtra("id", this.getIntent().getExtra("id") + 1);
startActivity(ident);
}
OnLeftSwipe(){
Intent ident = new Intent(YourActivity.this, DetailedActivity.class);
ident.putExtra("id", this.getIntent().getExtra("id") - 1);
startActivity(ident);
}
Примечания:
OnRightSwipe и OnLeftSwipe не являются реальными именами методов, которые вам придется искать, что такое обратный вызов.Пример удобен.
Это работает только в том случае, если передаваемые вами идентификаторы каким-то образом числовые, которые можно увеличивать или уменьшать.Если это не так, вам придется опубликовать еще немного своего кода, чтобы я мог помочь.Также, если ваши идентификаторы хранятся в виде дополнительной строки, вам придется проанализировать int, прежде чем вы сможете увеличить / уменьшить.
и, наконец, обратите внимание на использование YourActivity.this вместо getApplicationContext ().Поскольку действие, в котором вы находитесь, является Контекстом, нет необходимости использовать этот метод для этой цели.Это немного над моей головой, но я склонен полагать, что методы getApplicationContext () и getBaseContext () могут привести к проблемам.
Edit:
Если вы имеете в виду что-то похожее на то, кактогда я думаю, что нет встроенного виджета, который бы дал вам такой эффект.Кажется, лучший способ получить это - посмотреть, как они это сделали, в исходном коде домашнего экрана и повторить то, что сделал, а затем попытаться приспособить его к вашей собственной ситуации макета.
Если выне ищите, чтобы он «следовал» пальцем:
Если две вещи, которые вы пытаетесь переключить, являются отдельными действиями, тогда ViewFlipper не будет работать для этого.ViewFlipper используется для переключения между двумя различными объектами Layout в рамках одного и того же действия.
Я думаю, вы могли бы приблизиться к достижению аналогичного эффекта между двумя действиями, но есть несколько вещей, которые вы должны рассмотреть, прежде чем принять решение сделать это таким образом.
- Многоверсии ОС там уже имеют активность в анимациях.У пользователя есть возможность по умолчанию отключить их, но я включаю их с большинством текущих продаваемых устройств.Это означает, что вы можете в конечном итоге увидеть анимацию слайда, а затем системную анимацию, затем систему анимации, а затем свой слайд. Я не знаю наверняка, произойдет ли это, но я думаю, что это может произойти, я думаю, если такесть какой-то способ обойти это.
- Упражнение B должно как-то рассказать новому экземпляру действия B (возможно, с использованием другого putExtra), в каком направлении ему нужно скользить.
Чтобы сделать слайд в анимации с выдвижным шрифтом между двумя действиями, вы можете просто установить в своем XML-файле свой корневой макет на android:visibility="gone"
, а затем в onCreate () после вызова setContentView(R.id.yourLayout);
настроитьslideInAnimation и получите ссылку на ваш корневой макет и начните слайд на нем.Затем, непосредственно перед вызовом startActivity () в прослушивателе смахивания (вам нужно установить animationListener для получения обратного вызова, после того как анимация завершится внутри этого обратного вызова, и вам нужно будет переместить вызов startActivity ()) к вам.может настроить анимацию запуска на вашей корневой схеме.
Однако я бы, вероятно, посоветовал, независимо от того, что из вышеперечисленного вы ищете, вы должны рассмотреть модель, в которой ваши подробные действия не просто показывают 1статическая запись, и вы начинаете новое действие, чтобы показать предыдущий или следующий.Вместо этого он может использовать ViewFlipper для циклического перебора всех их в одном экземпляре операции детализации.Если вы используете этот способ, тогда вы будете использовать ViewFlipper и использовать yes, вы можете использовать его вместе с прослушивателем fling.Вы можете помять их самостоятельно или проверить ViewSwiper, который @CommonsGuy сделал Он создан именно для этого и готов к установке нашего проекта.