使用viewpager实现app欢迎页
来源:互联网 发布:单片机下载程序元件 编辑:程序博客网 时间:2024/05/29 01:53
首先定义viewpager的xml
<span style="font-family: Arial, Helvetica, sans-serif;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</span>
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/id_indexviewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" > </android.support.v4.view.ViewPager></LinearLayout>
定义viewpager中需要存放的view界面 同样的格式复制三份,在第三份中添加一个按钮
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="欢迎页3" android:textSize="50dp"/> <!-- <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="立即开始" /> --></LinearLayout>
新建IndexActivity将实现欢迎界面
package com.example.lenovo;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.support.v4.view.ViewPager.PageTransformer;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;public class IndexActivity extends Activity {private ViewPager mView; // 刚才定义的viewpagerprivate List<View> list = new ArrayList<View>(); // 存放那三个view的listprivate LayoutInflater inflater; // 不解释private View view1, view2, view3; // 那三个需要显示的viewprivate SharedPreferences share; // 存放登录信息@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_index);share = this.getSharedPreferences("data", Context.MODE_PRIVATE);if(!isOpen()){ // 如果曾经被打开,就直接跳过欢迎界面,进入主界面startActivity(new Intent(IndexActivity.this, StartUi.class));IndexActivity.this.finish();}initView(); // 进行view的初始化addView(); // 将view添加到list中mView.setAdapter(new MyAdapter(list)); // 设置viewpager的适配器,和其他的自定义适配器类似mView.setPageTransformer(true, new TransForm()); // 设置切换时候的动画addListener(); // 设置viewpager和第三个view里的按钮的监听器}private boolean isOpen(){return share.getBoolean("isOpen", true);}@SuppressWarnings("deprecation")private void addListener() {mView.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});Button btStart = (Button) view3.findViewById(R.id.button1);btStart.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {startActivity(new Intent(IndexActivity.this, StartUi.class));Editor edit = share.edit();edit.putBoolean("isOpen", false);edit.commit(); // 如果点击了按钮就就把已经打开的数据存放到手机中,下次将不再打开IndexActivity.this.finish(); // 顺便把这个activity结束掉}});}private void addView() {inflater = getLayoutInflater();view1 = inflater.inflate(R.layout.index1, null);view2 = inflater.inflate(R.layout.index2, null);view3 = inflater.inflate(R.layout.index3, null);list.add(view1);list.add(view2);list.add(view3);}private void initView() {mView = (ViewPager) findViewById(R.id.id_indexviewpager);}class MyAdapter extends PagerAdapter {private List<View> list;public MyAdapter(List<View> list) {this.list = list;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object instantiateItem(View container, int position) {((ViewGroup) container).addView(list.get(position));return list.get(position);}@Overridepublic void destroyItem(View container, int position, Object object) {((ViewGroup) container).removeView(list.get(position));}@Overridepublic int getItemPosition(Object object) {return super.getItemPosition(object);}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}}class TransForm implements PageTransformer {@Overridepublic void transformPage(View view, float position) {int pageWidth = view.getWidth();if (position < -1) { // [-Infinity,-1)view.setAlpha(0);} else if (position <= 0) { // [-1,0]view.setAlpha(1);view.setTranslationX(0);view.setScaleX(1);view.setScaleY(1);} else if (position <= 1) { // (0,1]// Fade the page out.view.setAlpha(1 - position);// Counteract the default slide transitionview.setTranslationX(pageWidth * -position);// Scale the page down (between MIN_SCALE and 1)float scaleFactor = (float) (0.5 + (1 - 0.5)* (1 - Math.abs(position)));view.setScaleX(scaleFactor);view.setScaleY(scaleFactor);} else { // (1,+Infinity]view.setAlpha(0);}}}}
0 0
- 使用viewpager实现app欢迎页
- android使用ViewPager实现欢迎引导页
- Android程序:使用ViewPager实现app引导页效果
- ViewPager-App首次启动欢迎页+只显示一次的实现
- Android学习记录:ViewPager实现欢迎页
- viewpager实现欢迎界面
- 使用ViewPager制作欢迎引导页
- 实践--ViewPager实现App引导页
- 引导界面(二)使用ViewPager实现欢迎引导页面
- android-制作APP欢迎页面ViewPager
- ViewPager实现页面切换 (包含App第一次登录时候的欢迎界面的展示)
- 欢迎界面,自定义viewpager实现
- ViewPager实现欢迎引导页面
- 使用ViewPager实现引导页
- 使用ViewPager实现导航页
- 使用viewPager实现引导页
- 安卓Viewpager的使用--简单的欢迎页
- iOS 之 App 第一次启动 app 使用欢迎页
- JFreeChart时序图
- JFreeChart文件接口
- Spark Tungsten-sort Based Shuffle 分析
- JFreeChart数据库接口
- 这里是我第一篇文章的标题
- 使用viewpager实现app欢迎页
- 欢迎使用CSDN-markdown编辑器
- MKVToolNix v8.7.0
- 在word中轻松将mathtype公式转换成latex
- 工厂三姐妹
- 网站静态化--谈谈网站静态化
- 在mysql中创建索引,提升获取数据库数据效率
- Spark Sort Based Shuffle内存分析
- 三杯水问题 算法分析、设计与实现(Java)