首页、闪屏页、引导页相关

一般应用程序第一次进入会进入引导页,显示一些广告;之后再次进入会进入闪屏页面,显示一些广告,公司、个人的logo,同时进行数据的初始化、字体的自定义,然后直接进入首页页面

isFirst = SASharedPreference.getBoolean(this, "is_first", true);//第一次为空,赋值为true

if (isFirst) {

进入引导页;

SASharedPreference.putBoolean(this, "is_first", false);顺便修改isFirst值为false

else {

进入主页;

}

自定义主题

在res/values目录下的style里自定义:

然后在清单文件AndroidManifest.xml文件中

android:theme="@style/Theme1" 

>


//设置字体的封装 在main文件夹新建目录assets-fonts-(具体字体文件名.ttf)

在静态工具类封装一个方法setFont

public static void setFont(Context context,TextView textView) {

Typeface typeface = Typeface.createFromAsset(context.getAssets(),"fonts/RobotoCondensed-BoldItalic.ttf");

textView.setTypeface(typeface);

}

在主Activity调用UtilTools.setFont(tv_showPage);//tv_showPage是TextView对象


打开app进入闪屏页(等待2秒),若是第一次就进入引导页面,若不是第一次就进入主页

private Handler  handler = new Handler() {

void handMessage(Message msg) {

  switch(msg.what) {

case TAG://收到信息

if (isFirst) {//进入引导页

}else {//进入主页

}

break;

}

}

};

initView () {

handler.sendEmptyMessageDelayed(TAG,2000);//延迟2000ms发送消息

}

引导页


private List  mView= new ArrayList<>();

private View view1, view2, view3;

view1= View.inflate(this,R.layout.page_item_one, null);

...

mView.add(view1);//添加ViewPager的具体页面

...

activity_guide.xml文件包含一个ViewPager和对应的共同布局(图片加文字)以及一个右上角的“跳过”(直接进入主activity)

mViewPager.setAdapter(new GuideAdapter());

写一个内部类GuideAdapter继承自PageAdapter,实现四个抽象方法

class GuideAdapter extends PageAdapter {

@Override

public intgetCount() {

returnmView.size();

}

@Override

public booleanisViewFromObject(View view,Object object) {

returnview == object;

}

//增加view

@Override

publicObjectinstantiateItem(ViewGroup container, intposition) {

((ViewPager)container).addView(mView.get(position));

returnmView.get(position);

}

//删除view

@Override

public voiddestroyItem(ViewGroup container, intposition,Object object) {

((ViewPager)container).removeView(mView.get(position));

}

}

这样引导页几个页面可以实现左右滑动了,但是对于最后一个页面出现“进入主页”按钮,前面n-1个页面出现“跳过”按钮,以及下方的小圆点的颜色,需要通过滑动监听

gViewPager.addOnPageChangeListener(newViewPager.OnPageChangeListener() {

onPageSelected(int position){

switch(position) {

case0:

setPointImg(true, false, false);//控制下方小圆点的颜色

tv_skip_to_homepage.setVisibility(View.VISIBLE);//跳过 按钮可见

break;

case1:

setPointImg(false, true, false);

tv_skip_to_homepage.setVisibility(View.VISIBLE);

break;

case2:

setPointImg(false, false, true);

tv_skip_to_homepage.setVisibility(View.GONE);

break;

}

}

然后通过监听两个按钮的点击状态,选择进入合适的页面

你可能感兴趣的:(首页、闪屏页、引导页相关)