您好我是Android新手,我正在做一个简单的应用程序。我的应用程序包含一个简单的活动,它包含视图寻呼机。我的查看寻呼机没有屏幕3.所以我的查看寻呼机工作正常。我的第一个和第二个屏幕包含一个按钮,当我点击该按钮时,它将进入第三个屏幕setCurrentItem(2);
。
现在我想要的是当我进入第三个屏幕时,它将呈现一个视图和几秒,就像完全渲染该视图做一些动画一样,如翻转动画。
当我点击按钮直接进入该屏幕但未呈现该默认视图时,实际发生了什么。它直接启动动画...
我的代码看起来像
public class HelpActivity extends Activity {
private final int NUM_SCREENS = 3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.help);
mInflater = LayoutInflater.from(this);
vp = (ViewPager) findViewById(R.id.pager);
PagerAdapter pagerAdapter = new MyPagerAdapter();
vp.setAdapter(pagerAdapter);
}
private OnClickListener signin = new OnClickListener() {
@Override
public void onClick(View arg0) {
vp.setCurrentItem(2);
// ******* do some animation on view 3 in pager views ....
}
};
private class MyPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return NUM_SCREENS;
}
@Override
public Object instantiateItem(View collection, int position) {
View view = null;
Typeface tf = Typeface.createFromAsset(getAssets(),
"fonts/sf_cartoonist_hand_bold.ttf");
if (position == 0) {
// display view1
// on button click call sign in
} else if (position == 1) {
//display view 2
//on button click call sign in
} else if (position == 2) {
//display view 3
}
((ViewPager) collection).addView(view, 0);
return view;
}
}
}
点击按钮后我需要它跳过view3显示几秒钟,之后做动画......怎么做? 需要帮忙..... 谢谢.....
答案 0 :(得分:1)
使用Runnable
你可以保持你的动画,直到你的视图没有正确加载它,你必须测量你的视图加载多少秒,所以你可以根据你的视图传递延迟加载时间,如下所示:
Runnable runnableimage = new Runnable() {
public void run() {
//HERE YOUR ANIMATION
image.startAnimation(animFast);
}
};
它在2000 MilliSec
handler.postDelayed(runnableimage,2000);
答案 1 :(得分:1)
使用animate()
启动延迟:
mView.animate().rotationBy(360).setDuration(3000).setStartDelay(2000).start();