这是我第一次接触到android学习,现在模仿拉手网的welcomeactivity
activity_welcome.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="indicator_right_padding">10dp</dimen>
<dimen name="indicator_corner_radius">12dp</dimen>
<dimen name="indicator_internal_padding">4dp</dimen>
<dimen name="header_footer_left_right_padding">24dp</dimen>
<dimen name="header_footer_top_bottom_padding">12dp</dimen>
</resources>
welcomeactivity.java
package com.lzh.lashou; import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.os.Message; import android.support.annotation.Nullable; public class WelcomeActivity extends Activity { @Override public void onCreate(@Nullable Bundle savedInstanceState) { //注意新版本中onCreate的方法两个参数去掉后面的参数,否则调试后会出现空白页 super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); //3s后进入mainactivity new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message message) { startActivity(new Intent(WelcomeActivity.this,MainActivity.class)); return true; } }).sendEmptyMessageDelayed(0,3000);/*延迟3s*/ } } 所有的页面都要在mainifest中注册 //设置起始页为欢迎页面<activity android:name=".welcomeactivity" /><activity android:name=".mainactivity"/>
出现的问题,大部分就是调试后出现空白页,解决方法为重载onCreate()方法传参时只传递第一个,后一个参数删除。 下面开始进入引导页创建yindaoactivity.java + activity_yindao.xml 同时别忘了在manifest.xml中注册,为了判断用户是否为第一次进入页面,所以在项目中添加util.ToolKits(工具类)public class ToolKits{ public static SharedPerferences getSharedPerferences(Context context){ return context.getSharesPerferences("包名",Context.MODE_PRIVATE)//设计为私有模式 } //设置共享参数 public static void putBoolean(Context context,String key,boolean value){ SharedPerferences sharedPerferences=getSharedPerferences(context); //获取共享参数的编辑器 SharedPerferences.Editor editor=sharedPerences.edit(); //通过编辑器提交一个boolean类型的参数 editor.putBoolean(key,value); editor.commit(); }
//获取共享参数public static boolean GetBoolean(Context context,String key,boolean defaultValue){ return getSharedPreferences(context).getBoolean(key,defaultValue);}
}在welcome中添加判断,调用ToolKits
public class WelcomeActivity extends Activity { public static final String IS_FIRST="is_first"; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message message) { if(ToolKits.GetBoolean(WelcomeActivity.this,IS_FIRST,false)) { //如果默认值为false,则没有登陆过,跳转到引导页 startActivity(new Intent(WelcomeActivity.this,yindaoactivity.class)); //将boolean值设置为true ToolKits.PutBoolean(WelcomeActivity.this,IS_FIRST,true); }else{ //否则跳转为主页 startActivity(new Intent(WelcomeActivity.this,MainActivity.class)); } ToolKits.PutBoolean(WelcomeActivity.this,IS_FIRST,true); return true; } }).sendEmptyMessageDelayed(0,3000);/*延迟3s*/ }
原文地址:https://www.cnblogs.com/who-am-i/p/11247349.html
时间: 2024-08-30 14:34:52