大家是怎么做用户引导界面的?

就是第一次启动app的时候一个overlay,不是那种要你划几次然后才能进app的。

大家是用图片做的吗?那如何解决不同设备的适配问题呢?
还是用代码画出来的?

没什么经验,求各位老鸟解答。

阅读 6.6k
3 个回答
  1. 图片可以固定放在屏幕的一个位置,其他地方用背景色填充
  2. 直接用9-patch图片

虽然有最佳答案了。但是我还是贴贴我以前做项目的代码
public class SplashActivity extends BaseActivity {

private Handler mHandler = new Handler();

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    View view = View.inflate(this, R.layout.start_activity, null);
    setContentView(view);
    Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
    view.startAnimation(animation);
    animation.setAnimationListener(new AnimationListener() {
        @Override
        public void onAnimationStart(Animation arg0) {
        }

        @Override
        public void onAnimationRepeat(Animation arg0) {
        }

        @Override
        public void onAnimationEnd(Animation arg0) {
            mHandler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    goHome();
                }
            }, 500);
        }
    });

}

protected void onResume() {
    super.onResume();
}

private void goHome() {
    openActivity(MainActivity.class);
    defaultFinish();
}

}

 <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/splash_load">

对于Android而言,有一个比较tricky的做法,先声明一个style,例如Theme.Splash,然后配置background,指向目标图片,将启动的Activity的theme设置为Theme.Splash就可以了。

这样做的好处是,如果你在XXXActivity如(SplashActivity)的layout.xml中或者直接在代码中setBackground,由于onCreate加载需要启动时间,会有一段时间的黑屏(或者白屏,取决于应用的主题,Theme.Holo | Theme.Dark)。而直接设置在Theme中,就不会出现黑白屏的情况了,这样体验明显优于另外两种方式。

屏幕适配可以用不同方式解决
- drawable-xxxx
- .9.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题