ImageSwitcher实现引导页效果

ImageSwitcher实现引导页效果

分类:android UI

switcher引导页

效果图:

布局代码:==”fill_parent”><ImageSwitcher=”fill_parent”></ImageSwitcher><RelativeLayout=”vertical”><LinearLayout===></FrameLayout>页面代码:.[] imgIds;currentPosition;downX;LinearLayout linearLayout;(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_switcher);imgIds = new int[]{R.drawable.bg, R.drawable.c2, R.drawable.c3, R.drawable.c4, R.drawable.c5, R.drawable.c6, R.drawable.c7, R.drawable.c8, R.drawable.c9};mImageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);//实例化ImageSwitchermImageSwitcher.setFactory(this); //设置FactorymImageSwitcher.setOnTouchListener(this);//设置OnTouchListener,我们通过Touch事件来切换图片linearLayout = (LinearLayout) findViewById(R.id.ll_view);//指示器布局tips = new ImageView[imgIds.length];for (int i = 0; i < imgIds.length; i++) {ImageView mImageView = new ImageView(this);tips[i] = mImageView;LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));layoutParams.rightMargin = 3;layoutParams.leftMargin = 3;mImageView.setBackgroundResource(R.drawable.page_indicator_unfocused);linearLayout.addView(mImageView, layoutParams);}//上一个界面传过来的位置currentPosition = getIntent().getIntExtra(“position”, 0);mImageSwitcher.setImageResource(imgIds[currentPosition]);setImageBackground(currentPosition);}(int selectItems) {for (int i = 0; i < tips.length; i++) {if (i == selectItems) {tips[i].setBackgroundResource(R.drawable.page_indicator_focused);} else {tips[i].setBackgroundResource(R.drawable.page_indicator_unfocused);}}}@Overridepublic View makeView() {final ImageView i = new ImageView(this);i.setBackgroundColor(0xff000000);i.setScaleType(ImageView.ScaleType.CENTER_CROP);i.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));return i;}(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN: {downX = event.getX();//手指按下的X坐标break;}case MotionEvent.ACTION_UP: {float lastX = event.getX();//抬起的时候的X坐标大于按下的时候就显示上一张图片if (lastX > downX) {if (currentPosition > 0) {//设置动画mImageSwitcher.setInAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.left_in));mImageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.right_out));currentPosition–;mImageSwitcher.setImageResource(imgIds[currentPosition % imgIds.length]);setImageBackground(currentPosition);} else {Toast.makeText(getApplication(), “已经是第一张”, Toast.LENGTH_SHORT).show();}}if (lastX < downX) {if (currentPosition < imgIds.length – 1) {mImageSwitcher.setInAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.right_in));mImageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.lift_out));currentPosition++;mImageSwitcher.setImageResource(imgIds[currentPosition]);setImageBackground(currentPosition);} else {Toast.makeText(getApplication(), “到了最后一张”, Toast.LENGTH_SHORT).show();}}}break;}return true;}}

版权声明:本文为博主原创文章,,未经博主允许不得转载。

上一篇ViewFlipper(图片翻转)用法下一篇StackView堆视图实现叠放效果

顶0踩0

穿别人的鞋,走自己的路,让别追去吧

ImageSwitcher实现引导页效果

相关文章:

你感兴趣的文章:

标签云: