羊皮书APP(Android版)开发系列(五)APP引导页实现
2016-03-11 16:03
453 查看
羊皮书APP(Android版)开发系列(五)APP引导页实现
github上有一个引导页感觉不错,就拿来使用,地址:AppIntro导入AppIntro库的方法(两种):
方法一: 到github上下载AppIntro,解压,将library文件夹拷贝到自己项目的根目录下,重命名为app____intro____library,在settings.gradle文件中添加:include ‘:app’,’:app_____intro____library’,在build.gradle文件中添加: compile project(‘:app_____intro____library’),重新编译后即可使用。
方法二: 直接在 build.gradle文件中添加如下代码:
repositories { mavenCentral() } dependencies { compile 'com.github.paolorotolo:appintro:3.4.0' }
AppIntro的使用:
新建SlideFragment,展示介绍页面,代码如下:
package cn.studyou.parchment.fragment; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * 基本功能:引导页Fragment * 创建:王杰 * 创建时间:16/3/7 * 邮箱:w489657152@gmail.com */ public class SlideFragment extends Fragment { private static final String ARG_LAYOUT_RES_ID = "layoutResId"; public static SlideFragment newInstance(int layoutResId) { SlideFragment slideFragment = new SlideFragment(); Bundle args = new Bundle(); args.putInt(ARG_LAYOUT_RES_ID, layoutResId); slideFragment.setArguments(args); return slideFragment; } private int layoutResId; public SlideFragment() {} @Override public void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); if(getArguments() != null && getArguments().containsKey(ARG_LAYOUT_RES_ID)) layoutResId = getArguments().getInt(ARG_LAYOUT_RES_ID); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(layoutResId, container, false); } }
新建AppIntroActivity继承自AppIntro,代码如下:
package cn.studyou.parchment.activity; import android.os.Bundle; import com.github.paolorotolo.appintro.AppIntro; import cn.studyou.parchment.R; import cn.studyou.parchment.fragment.SlideFragment; import cn.studyou.parchment.log.L; import cn.studyou.parchment.utils.IntentUtil; public class AppIntroActivity extends AppIntro { @Override public void init(Bundle savedInstanceState) { addSlide(SlideFragment.newInstance(R.layout.intro1)); addSlide(SlideFragment.newInstance(R.layout.intro2)); addSlide(SlideFragment.newInstance(R.layout.intro3)); addSlide(SlideFragment.newInstance(R.layout.intro4)); setBarColor(getResources().getColor(R.color.green)); setSeparatorColor(getResources().getColor(R.color.colorAccent)); setVibrateIntensity(30); setSkipText(getString(R.string.skip)); setDoneText(getString(R.string.enter)); } private void startMain(){ startActivity(IntentUtil.getLauncherIntent().setClass(getApplicationContext(),MainActivity.class)); finish(); } @Override public void onSkipPressed() { L.e("onSkipPressed"); startMain(); } @Override public void onDonePressed() { L.e("onDonePressed"); startMain(); } @Override public void onSlideChanged() { L.e("onSlideChanged"); } @Override public void onNextPressed() { L.e("onNextPressed"); } }
R.layout.intro1布局文件是你想要展示的APP介绍的页面。
启动APP设置跳转到此Activity即可查看效果。
原文地址:/article/8987545.html
我的github地址:https://github.com/wjie2014
我的博客地址:http://blog.studyou.cn/
我的CSDN博客地址:http://blog.csdn.net/wjwj1203
我的Gmail邮箱:w489657152@gmail.com
相关文章推荐
- 被误解的MVC和被神化的MVVM
- Android源码编译相关问题记录
- 【Android】工作线程意图修改主线程中的布局
- 不错的手机应用APP(未完待续)
- Android中Activity四种启动模式
- Android 设备竖屏横屏切换
- Unity3d Toggle onValueChanged 传参数 错误(始终为最后一个实例的值)
- 自定义view(一)
- Android下进行单元测试
- iOS之block
- Android 5.x特性概览二
- 咱们来看看谷歌Design包里的SnackBar
- android中PhoneWindow、DecorView
- iOS-id类型
- android定时回到主页面
- Android中top命令字段含义
- Android下拉刷新上拉加载控件(适用于所有View)
- 微信iOS 9适配总结
- Android APK反编译就这么简单 详解(附图)
- ios中使用SegmentedControl来切换视图