Android启动页+引导页
来源:互联网 发布:java交换函数 编辑:程序博客网 时间:2024/05/10 06:19
启动页代码如下:
package com.example.sportsii.tixinwangapp.activity;import android.content.Context;import android.content.Intent;import android.graphics.Color;import android.os.Build;import android.os.Handler;import android.os.Message;import android.view.View;import com.example.sportsii.tixinwangapp.R;import com.example.sportsii.tixinwangapp.base.activity.BaseActivity;import com.example.sportsii.tixinwangapp.utils.SharedPrefUtil;import com.example.sportsii.tixinwangapp.utils.StatusBarCompat;public class SplashActivity extends BaseActivity { private Context mContext = null; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: Jump(mContext, MainActivity.class); finish(); break; } } }; @Override public void onClick(View v) { } @Override public void setContentView() { setContentView(R.layout.activity_splash); } @Override public void initViews() { } @Override public void initDatas() { mContext = SplashActivity.this; StatusBarCompat.compat(this, R.color.transparent);// initStatusBar(); // 判断是否是第一次开启应用 boolean isFirstOpen = SharedPrefUtil.getIsFristOpen(this); // 如果不是第一次启动app,则正常显示启动屏 // 如果是第一次启动,则先进入功能引导页 if (isFirstOpen) { Intent intent = new Intent(this, WelcomeGuideActivity.class); startActivity(intent); finish(); return; } handler.sendEmptyMessageDelayed(1, 2000); } @Override public void setDatas() { } @Override public void setListener() { } @Override public void ResumeDatas() { }}引导页代码如下:
package com.example.sportsii.tixinwangapp.activity;import android.content.Context;import android.os.Handler;import android.os.Message;import android.support.v4.view.ViewPager;import android.view.View;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.TextView;import com.bumptech.glide.Glide;import com.example.sportsii.tixinwangapp.R;import com.example.sportsii.tixinwangapp.adapter.ViewPagerAdapter;import com.example.sportsii.tixinwangapp.base.activity.BaseActivity;import com.example.sportsii.tixinwangapp.utils.SharedPrefUtils;import com.example.sportsii.tixinwangapp.utils.StatusBarCompat;import java.util.ArrayList;import java.util.List;public class WelcomeGuideActivity extends BaseActivity implements ViewPager.OnPageChangeListener { private Context mContext = null; private ViewPager viewPager; private ViewPagerAdapter viewPagerAdapter; private List<View> views = new ArrayList<>(); private TextView tvStart; private RadioGroup radioGroup; private List<String> imageData = new ArrayList<>(); private int image[] = {R.mipmap.image_guide1, R.mipmap.image_guide2, R.mipmap.image_guide3}; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1:// tvStart.setVisibility(View.VISIBLE); Jump(mContext, MainActivity.class);// SharedPrefUtils.setFristOpen(mContext, false); finish(); break; case 2: tvStart.setVisibility(View.INVISIBLE); break; } } }; @Override public void onClick(View v) { switch (v.getId()) { case R.id.tvStart: Jump(mContext, MainActivity.class); SharedPrefUtils.setFristOpen(mContext, false); finish(); break; } } @Override public void setContentView() { setContentView(R.layout.activity_welcome_guide); } @Override public void initViews() { viewPager = A(R.id.viewpager); tvStart = A(R.id.tvStart); radioGroup = A(R.id.advertise_point_group); } @Override public void initDatas() { mContext = WelcomeGuideActivity.this; StatusBarCompat.compat(this, R.color.transparent);// initStatusBar(); imgListString(); } private void imgListString() {// imageData.add("http://d.hiphotos.baidu.com/image/h%3D200/sign=72b32dc4b719ebc4df787199b227cf79/58ee3d6d55fbb2fb48944ab34b4a20a44723dcd7.jpg"); imageData.add("http://pic.4j4j.cn/upload/pic/20130815/31e652fe2d.jpg"); imageData.add("http://pic.4j4j.cn/upload/pic/20130815/5e604404fe.jpg"); imageData.add("http://pic.4j4j.cn/upload/pic/20130909/681ebf9d64.jpg");// imageData.add("http://d.hiphotos.baidu.com/image/pic/item/54fbb2fb43166d22dc28839a442309f79052d265.jpg"); } @Override public void setDatas() { for (int i = 0; i < image.length; i++) { View view = null; ImageView imageView = new ImageView(this);// ImageLoadUtils.LoadImage(imageData.get(i), imageView, 0); Glide.with(mContext).load(image[i]).centerCrop().into(imageView); view = imageView; views.add(view); } viewPagerAdapter = new ViewPagerAdapter(views, mContext); viewPager.setAdapter(viewPagerAdapter); } @Override public void setListener() { tvStart.setOnClickListener(this); viewPager.setOnPageChangeListener(this); } @Override public void ResumeDatas() { } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) {// RadioGroup中添加了几个RadioButton后,这些RadioButton应该只能选一个,// 但是如果不为每个button设id,这些button就失去了单选效果。 ((RadioButton) radioGroup.getChildAt(position)).setChecked(true);//setSelect()无效 if (position == image.length - 1) {// handler.sendEmptyMessage(1);// handler.sendEmptyMessageDelayed(1, 2000); views.get(image.length - 1).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Jump(mContext, MainActivity.class);// SharedPrefUtils.setFristOpen(mContext, false); finish(); } }); } else {// handler.sendEmptyMessage(2); } } @Override public void onPageScrollStateChanged(int state) { }}
ViewPager适配器代码:package com.example.sportsii.tixinwangapp.adapter;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import java.util.List;/** * Created by sportsii on 2017/4/26. */public class ViewPagerAdapter extends PagerAdapter { private List<View> views; private Context context; public ViewPagerAdapter(List<View> views, Context context) { this.views = views; this.context = context; } @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(views.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(views.get(position)); return views.get(position); }}
其他资料:http://blog.csdn.net/wwj_748/article/details/50571515
http://www.jianshu.com/p/74f9765c2041
0 1
- android 启动页、引导页
- Android启动页+引导页
- Android,启动页到引导页
- Android制作引导页和启动页
- Xamarin.Android 引导页 启动页
- android 设置引导页延时启动
- iOS启动引导页
- 启动引导页
- 启动引导页
- android统计应用启动次数,跳过引导页
- 【Android】利用ViewPager控件实现软件启动引导页
- Android中第二次启动程序时,去除引导页
- android 程序启动的引导页 简单版
- Android ViewPager demo APP首次启动引导页
- Android启动引导页及圆点指示器详解
- Android中第二次启动程序时,去除引导页
- iOS引导页、启动页
- ios开机启动引导页
- 导弹拦截
- Hdfs读写数据流程
- Emgucv绘制图形
- 《高质量C编程核心注意事项》核心笔记
- MP3编码分析
- Android启动页+引导页
- 使用Gson将Json转为list
- 实现归并排序MergeSort的非递归动画演示
- PHP网络编程-数据采集-例
- NOIP 2008 普及组 复赛 ball 传球游戏
- WERTYU acm
- 函数
- HDU 2002 计算球体积 新生水题 注意格式和题意即可
- scala的提取器(Extractor)