我試圖在我的應用中實現垂直導航(可以上下滑動的全屏幕碎片)。問題是,沒有可能爲android ViewPager設置垂直方向,所以我使用了實際工作的Jake's Wharton DirectionalViewPager,但我無法將pageTransformer應用於它(它只是沒有在那裏實現,而且功能實現修復對我來說太難了做)。 DirectionalViewPager不再受支持。所以我的問題是:viewpager是解決這種UI問題的最佳解決方案,或者我應該使用另一種更容易且更容易應用的方法?我在android編程中總是新手(我從javascript開發來到這裏),我需要一些建議。也許有人有類似的問題,並以某種方式解決它? 在此先感謝!如何以最平易近人的方式應用垂直滑動導航?
2
A
回答
1
你可以試試很多不同的東西。
第一件事是讓你想要在佈局中滾動的所有組件。 喜歡的東西:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/welcome_first_slide"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<LinearLayout
android:id="@+id/welcome_second_slide"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</RelativeLayout>
然後,你將實現該方法來管理您的活動內容:
private void setCurrentSliderItem(int position){
LinearLayout currentView = null;
switch (position) {
case 0:
mainSlideView = (LinearLayout) findViewById(R.id.welcome_first_slide);
break;
case 1:
mainSlideView = (LinearLayout) findViewById(R.id.welcome_second_slide);
break;
}
mainSlideView.bringToFront();
Animation slide = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 1.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f);
slide.setDuration(1000);
mainSlideView.startAnimation(slide);
}
,然後你會CONTROLE觸摸事件,使用戶可以交互:
private float xWhenDown;
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = MotionEventCompat.getActionMasked(event);
switch (action) {
case MotionEvent.ACTION_DOWN:
xWhenDown = event.getX();
case MotionEvent.ACTION_UP:
if(event.getX()<xWhenDown){
buildSlide(++currentPosition);
}
default:
return super.onTouchEvent(event);
}
}
+0
感謝您的建議!我會嘗試一下,然後回來給出反饋。但是我擔心這會不夠靈活。它可能會導致一些內存問題,因爲很多頁面(這是非常可能的情況)。 ViewPager例如。當它們不在屏幕上時會破壞頁面以有效地管理內存。 – lukaleli
+0
你可以在活動類中做所有的通貨膨脹,然後你不需要在XML上設置內容......在我的答案中將內容放在XML中以簡化代碼:P – GhostDerfel
相關問題
- 1. 爲響應式網站滑動垂直導航菜單jquery
- 2. 導航垂直滑動菜單
- 3. 垂直水平導航
- 4. 如何使我的水平CSS垂直導航垂直
- 5. 垂直滑動應用enyojs
- 6. 如何以平滑動畫垂直動畫收集視圖
- 7. Bootstrap導航欄垂直不水平
- 8. 導航欄水平+垂直居中
- 9. bootstrap導航欄中心垂直水平?
- 10. 水平導航條垂直向上
- 11. 水平面包屑導航,垂直
- 12. 平滑滾動導航欄
- 13. 水平滾動垂直導航欄 - 滾動時導航欄下的內容
- 14. 如何實現水平和垂直平滑滾動
- 15. Android平滑垂直滾動觸摸
- 16. OnClick垂直導航
- 17. 垂直導航欄?
- 18. 垂直導航欄
- 19. 如何平滑直方圖?
- 20. 垂直滾動導致滑動
- 21. 如何解決固定垂直和水平導航的頁面
- 22. 我的導航欄是垂直的,但不會水平移動
- 23. 如何中心的垂直導航
- 24. 在Android中垂直滾動以及水平滑動
- 25. 垂直Megamenu導航引導
- 26. 垂直菜單/導航自動滾動
- 27. 如何製作平滑的滑動導航?
- 28. 平滑滾動導航不起作用
- 29. 如何創建垂直和水平滑動div的網站
- 30. 如何進行垂直「滑動」滾動?
該ViewPager它實際上是一個相對較新的組件,對不起我的無知,但我從來沒有使用過這個組件,你想完成什麼?也許你可以使用另一個組件...只是想了解,所以我可以幫助更多 – GhostDerfel
嗨!感謝您的回覆。我想要實現的實際上與GIF示例中所示的相同(但是在垂直方向上):http://developer.android.com/training/animation/screen-slide.html – lukaleli
聽起來很棒建議以不同的方式做到這一點。也許ScrollView可以執行該操作? – lukaleli