gpt4 book ai didi

android - 每 5 秒自动滑动标签项

转载 作者:行者123 更新时间:2023-11-29 15:05:07 25 4
gpt4 key购买 nike

我在我的 android 应用程序中创建了一个带有 3 个选项卡项的选项卡控件。

<android.support.design.widget.TabLayout
android:background="@color/colorPrimary"
android:layout_alignParentTop="true"
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="30dp"
>
</android.support.design.widget.TabLayout>

PagerAdapter 的帮助下,它按预期正常工作。但是现在,我想自动完成。也就是说,每 5 秒,选项卡应自动滑动到下一个。它会一直持续到用户触摸屏幕。如何在我的应用程序中添加此计时功能?

我的 PagerAdapter 类是,

public class PagerAdapter  extends FragmentStatePagerAdapter{
public PagerAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int position) {
Fragment frag=null;
switch (position){
case 0:
frag=new GameFragment();
break;
case 1:
frag=new MovieFragment();
break;
case 2:
frag=new StudyFragment();
break;
}
return frag;
}

@Override
public int getCount() {
return 3;
}

@Override
public CharSequence getPageTitle(int position) {
String title=" ";
switch (position){
case 0:
title="Game";
break;
case 1:
title="Movie";
break;
case 2:
title="Study";
break;
}

return title;
}
}

最佳答案

你可以做这样的事情来自动滑动标签:

int NUM_PAGES = 3;
int currentPage = 0;
boolean touched = false;
Handler handler = new Handler();
Runnable update;
private void startPagerAutoSwipe() {
update = new Runnable() {
public void run() {
if(!touched){
if (currentPage == NUM_PAGES) {
currentPage = 0;
}
pager.setCurrentItem(currentPage++, true);
}
}
};
Timer swipeTimer = new Timer();
swipeTimer.schedule(new TimerTask() {
@Override
public void run() {
handler.post(update);
}
}, 5000, 5000);
}

要在点击其中一个 fragment 时停止自动滑动,您可以将 onTouchListener 用于您的布局:

layout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
touched = true;
return true;

case MotionEvent.ACTION_UP:
touched = false;
return true;
}
return false;
}
});

关于android - 每 5 秒自动滑动标签项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38115812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com