gpt4 book ai didi

android - android viewpager 中的幻灯片放映?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:48:22 26 4
gpt4 key购买 nike

我对 android viewpager 幻灯片放映有疑问。我想在最短时间后显示 viewpager 布局。这是我的代码示例。我的主课:

public class MainActivity extends Activity {
private ViewPager mViewPager;
private SwipeAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.pager);
// set the adapter
adapter = new SwipeAdapter(MainActivity.this);
mViewPager.setAdapter(adapter);

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int position) {
}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}

}

我的适配器类:

public class SwipeAdapter extends PagerAdapter {

private LayoutInflater mInflater;
private static int[] mLayouts = { R.layout.view_layout1,
R.layout.view_layout2, R.layout.view_layout3, R.layout.view_layout4 };

SwipeAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
ViewGroup pageView = (ViewGroup) mInflater.inflate(mLayouts[position],
container, false);
container.addView(pageView);
getItemPosition(pageView);
return pageView;
}

@Override
public int getCount() {
return mLayouts.length;
}
@Override
public boolean isViewFromObject(View view, Object obj) {
return view == obj;
}
}

假设我想让 viewpager 布局在 10 秒后自动滑动。怎么可能。

最佳答案

使用Handler使其自动滑动。这是一些代码

private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
public void run() {
if( position >= 4){
position = 0;
}else{
position = position+1;
}
toBarPager.setCurrentItem(position, true);
handler.postDelayed(runnable, 10000);
}
};

并且不要忘记删除回调 onPause()

@Override
public void onPause() {
super.onPause();
if (handler!= null) {
handler.removeCallbacks(runnable);
}
}

此外,不要忘记重新运行 onResume()

@Override
public void onResume() {
super.onResume(); // Always call the superclass method first
handler.postDelayed(runnable, 10000);
}

关于android - android viewpager 中的幻灯片放映?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16494760/

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