是否可以在應用中使用多個活動而不是片段創建一個滑動的TabLayout?我有兩個活動正在嘗試使用可滑動的TabLayout創建應用程序。我正在尋找網絡,但還找不到。如果可以構建,任何人都可以提供一些鏈接或教程嗎?使用活動代替片段的TabLayout
2
A
回答
2
從GestureDetector和OnSwipeTouchListener:來自第二源
public class MainActivity extends Activity {
private GestureDetectorCompat mDetector;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDetector = new GestureDetectorCompat(this, new MyGestureListener());
}
@Override
public boolean onTouchEvent(MotionEvent event){
this.mDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
private static final String DEBUG_TAG = "Gestures";
private static final int SWIPE_THRESHOLD = 100;
private static final int SWIPE_VELOCITY_THRESHOLD = 100;
@Override
public boolean onDown(MotionEvent e) {
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
boolean result = false;
try {
float diffY = e2.getY() - e1.getY();
float diffX = e2.getX() - e1.getX();
if (Math.abs(diffX) > Math.abs(diffY)) {
if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
if (diffX > 0) {
onSwipeRight();
} else {
onSwipeLeft();
}
}
result = true;
}
else if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
if (diffY > 0) {
onSwipeBottom();
} else {
onSwipeTop();
}
}
result = true;
} catch (Exception exception) {
exception.printStackTrace();
}
return result;
}
public void onSwipeRight() {
}
public void onSwipeLeft() {
}
public void onSwipeTop() {
}
public void onSwipeBottom() {
}
}
用法:
imageView.setOnTouchListener(new OnSwipeTouchListener() {
public void onSwipeTop() {
Toast.makeText(MyActivity.this, "top", Toast.LENGTH_SHORT).show();
}
public void onSwipeRight() {
Toast.makeText(MyActivity.this, "right", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
public void onSwipeLeft() {
Toast.makeText(MyActivity.this, "left", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, FirstActivity.class);
startActivity(intent);
}
public void onSwipeBottom() {
Toast.makeText(MyActivity.this, "bottom", Toast.LENGTH_SHORT).show();
}
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
});
2
是的 - 雖然可能,但效果並不明顯。這將像用2-3年前的解決方案解決您的問題。如果你仍然想繼續,你可以參考以下鏈接: http://www.mkyong.com/android/android-tablayout-example/ 這應該有助於你理解。
+0
但是無法刷卡。只能點擊。我想要一個可以滑動的 – Sri
相關問題
- 1. TabLayout動態使用片段
- 2. 從活動導航到TabLayout/ViewPager片段
- 3. 如何使用TabLayout滾動片段?
- 4. 用TabLayout中的新片段替換片段
- 5. TabLayout - ViewPager - 片段
- 6. Tablayout中的片段
- 7. 用活動中的片段替換片段
- 8. 如何打開新的活動按鈕點擊內部TabLayout使用片段
- 9. 片段,活動,片段活動
- 10. Tablayout內部片段
- 11. 動態更改TabLayout內部的片段
- 12. Android的TabLayout片段 - 垂直滾動
- 13. 從活動發送數據到TabLayout片段
- 14. 在片段中使用TabLayout和ViewPager
- 15. 活動和片段活動的片段不起作用
- 16. 的Android TabLayout片段通信
- 17. 片段TabLayout/GridView的OutMemory
- 18. TabLayout片段中的錯誤
- 19. 片段活動片段內
- 20. 活動片段
- 21. 用片段代替CardView
- 22. Android:如何通過片段活動替換片段頁面
- 23. 當我們使用片段時使用片段活動?
- 24. 使用片段破壞的活動
- 25. 使用Robolectric的片段測試活動
- 26. Android:TabActivity反對使用片段代替
- 27. 如何使用Tablayout設置新活動
- 28. 活動到片段1,片段1到片段2片段2到活動
- 29. TabLayout重疊ViewPager片段
- 30. Android從片段獲取tabLayout
爲什麼我的問題是downvoted?作爲一名學習者,對我不熟悉的事情感到好奇並不意味着我應該低估我的想法! – Sri
爲什麼要使用活動而不是碎片? – yennsarah
因爲我不想在這個應用程序中使用片段。 – Sri