gpt4 book ai didi

android - 使用 viewpager android 的屏幕幻灯片放映

转载 作者:行者123 更新时间:2023-11-29 21:41:54 25 4
gpt4 key购买 nike

我正在开发一个 android 应用程序,我想在其中创建屏幕幻灯片。我正在使用 viewpager 在屏幕之间滑动,并使用 java Timer 每 5 秒自动进行一次幻灯片放映。

问题是,我无法从一个屏幕缓慢而平稳地过渡到另一个屏幕。一旦 5 秒完成,它会立即移动到下一个屏幕。我需要一个缓慢而平稳的过渡。这可能吗?请查看我的计时器代码并查看下面的寻呼机代码。

     public void slideshowtimer()
{
t.scheduleAtFixedRate(new TimerTask()
{

@Override
public void run()
{
runOnUiThread(new Runnable()
{

public void run()
{
Log.e("inside", "timer - " + viewPagerCurrentItem);

myPager.setCurrentItem(viewPagerCurrentItem++);

}

});
}

}, 0, 5000);
}



@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

t = new Timer();

MyPagerAdapter adapter = new MyPagerAdapter();
myPager = (ViewPager) findViewById(R.id.viewPager);
myPager.setAdapter(adapter);

slideshowtimer();

//myPager.setCurrentItem(0);
}





private class MyPagerAdapter extends PagerAdapter {

public int getCount() {
return 3;
}

public Object instantiateItem(View collection, int position) {

LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

int resId = 0;
switch (position) {
case 0:

// resId = LayoutOne.newInstance(_context);

resId = R.layout.layout_one;
break;
case 1:
resId = R.layout.layout_two;
break;
case 2:
resId = R.layout.layout_third;
break;

}

View view = inflater.inflate(resId, null);

((ViewPager) collection).addView(view, 0);

return view;
}

请帮助。谢谢!

最佳答案

您是否尝试过将 smooth Scroll 设置为 true?看方法here .

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

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