Android之最炫的旋转引导页
来源:互联网 发布:淘宝购买的模板在哪里 编辑:程序博客网 时间:2024/04/23 18:40
每个APP都会有一个自己的引导页,下面我就分享一个最炫的旋转的引导页效果:
当然这里需要nineoldandroids-2.4.0.jar这个jar包的帮助,下载地址:http://download.csdn.net/my
1.------------------------------MainActivity.java-----------------------------
import java.util.ArrayList;import com.example.day9viewpager1.rotate.RotateDownTransformer;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.PageTransformer;import android.view.View;public class MainActivity extends Activity {private ViewPager vp;private ArrayList<Integer> list;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);vp = (ViewPager) findViewById(R.id.vp);list = new ArrayList<Integer>();list.add(R.drawable.ty1);list.add(R.drawable.ty2);list.add(R.drawable.ty3);list.add(R.drawable.ty4);list.add(R.drawable.ty5);vp.setAdapter(new MyPager(MainActivity.this, list));//记得把相应的包发进来=nineoldandroids-2.4.0.jar包vp.setPageTransformer(true, new RotateDownTransformer());}}
2.------------------------------pager.xml-----------------------------
<?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" > <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/ic_launcher" /></LinearLayout>
3.----------------------------activity_main.xml-------------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
4.--------------------------MyPager.java---------------------------------
import java.util.ArrayList;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;public class MyPager extends PagerAdapter {private Context context;private ArrayList<Integer> list;public MyPager(Context context,ArrayList<Integer> list) {// TODO Auto-generated constructor stubthis.context=context;this.list=list;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0==arg1;}@Overridepublic Object instantiateItem(ViewGroup container, int position) {// TODO Auto-generated method stubView view = View.inflate(context, R.layout.pager, null);ImageView imagView = (ImageView) view.findViewById(R.id.imageView);imagView.setImageResource(list.get(position));container.addView(view);return view;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {// TODO Auto-generated method stubcontainer.removeView((View) object);}}
5.--------------------旋转的类---------RotateDownTransformer.java------------------------------
import android.support.v4.view.ViewPager.PageTransformer;import android.util.Log;import android.view.View;import com.nineoldandroids.view.ViewHelper;/** * ViewPager自定义旋转动画 * */public class RotateDownTransformer implements PageTransformer {// 旋转的最大角度为20度private static final float MAX_ROTATE = 20.0f;// 旋转过程中的角度private float currentRotate;@Overridepublic void transformPage(View view, float position) {int pageWidth = view.getWidth();//Log.i("TAG", "view = " + view + ",position = " + position);if (position < -1) {ViewHelper.setRotation(view, 0);} else if (position <= 0) {// position范围[-1.0,0.0],此时A页动画移出屏幕currentRotate = position * MAX_ROTATE;// 设置当前页的旋转中心点,横坐标是屏幕宽度的1/2,纵坐标为屏幕的高度ViewHelper.setPivotX(view, pageWidth / 2);ViewHelper.setPivotY(view, view.getHeight());ViewHelper.setRotation(view, currentRotate);} else if (position <= 1) {// position范围(0.0,1.0],此时B页动画移到屏幕currentRotate = position * MAX_ROTATE;// 设置当前页的旋转中心点,横坐标是屏幕宽度的1/2,纵坐标为屏幕的高度ViewHelper.setPivotX(view, pageWidth / 2);ViewHelper.setPivotY(view, view.getHeight());ViewHelper.setRotation(view, currentRotate);} else {ViewHelper.setRotation(view, 0);}}}
0 0
- Android之最炫的旋转引导页
- android引导页 旋转的效果
- Android之自定义最简单的竖向引导页
- 引导页旋转动画的实现
- Android之动态引导页
- Android开发之引导页
- Android最简单的引导页(基于Android侧滑菜单的改造)
- SplashActivity最简单的引导页
- Androidの应用引导页SplashActivity的巧妙之处
- Android学习之Android ViewPager引导页
- android引导页的实现
- Android引导页的魅力
- Android 引导页的实现
- Android 的欢迎引导页
- Android引导页的实现
- android 引导页的制作
- Android进阶篇之引导页系列之强大的SurfaceView实现动画引导页(1)
- Android进阶篇之引导页系列之强大的SurfaceView实现动画引导页(2)
- FZU 2107 Hua Rong Dao 轮廓线上的动态规划
- java/jsp/cookie/session/(二)
- HDU 5793 A Boring Question (打表找规律)
- 处理grid重新加载过后selectionModel中的记录不更新的问题
- Windows下搭建ffmpeg+VS2008开发环境详细教程
- Android之最炫的旋转引导页
- Cannot read property 'xxx' of undefined
- android从入门到放弃2--ButterKnife
- leetcode No78. Subsets
- java输入输出流复制文件所用时间对比
- HDU 4348 To the moon (可持久化线段树+更新)
- 如何在eclipse窗口中查看类库中的方法具体实现
- 分析NTFS文件系统内部结构
- Java中接口和抽象类的区别及使用的场合