画面のスライドショーを作成したいAndroidアプリを開発しています。画面間をスワイプするためにビューページャーを使用し、5秒ごとに自動スライドショーにJavaタイマーを使用しています。
問題は、ある画面から別の画面にゆっくりとスムーズに移行できないことです。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;
}
助けてください。ありがとう!