安卓中图片自动切换特效
来源:互联网 发布:电脑图标美化软件 编辑:程序博客网 时间:2024/05/17 23:19
页面内的图片可以自动切换,几张图片切换。
java代码:
package com.example.huadong;import java.util.ArrayList;import java.util.List;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Parcelable;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.ImageView;import android.widget.ImageView.ScaleType;import android.widget.TextView;public class MainActivity extends Activity {private ViewPager viewPager;private List<ImageView> imageViews;private String[] titles;private int[] imageResId;private List<View> dots;private TextView tv_title;private int currentItem = 0;private ScheduledExecutorService scheduleExecutorService;private Handler handler = new Handler(){public void handleMessage(android.os.Message msg){viewPager.setCurrentItem(currentItem);};};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageResId =new int[] {R.drawable.dao2,R.drawable.dao3,R.drawable.dao4,R.drawable.dao5,R.drawable.dao6};titles = new String[imageResId.length];titles[0] = "你好咖啡蛋糕jfk个";titles[1] = "哦股如果iuruierui";titles[2] = "哥哥如果iuergihgdjdfjkjkg";titles[3] = "还给他提供版本比较好";titles[4] = "K歌客人塘沽海让他"; imageViews = new ArrayList<ImageView>();for(int i =0; i < imageResId.length; i++){ImageView imageView = new ImageView(this);imageView.setImageResource(imageResId[i]);imageView.setScaleType(ScaleType.CENTER_CROP);imageViews.add(imageView);}dots = new ArrayList<View>();dots.add(findViewById(R.id.v_dot0));dots.add(findViewById(R.id.v_dot1));dots.add(findViewById(R.id.v_dot2));dots.add(findViewById(R.id.v_dot3));dots.add(findViewById(R.id.v_dot4));tv_title = (TextView) findViewById(R.id.tv_title);tv_title.setText(titles[0]);viewPager = (ViewPager) findViewById(R.id.vp);viewPager.setAdapter(new MyAdapter());viewPager.setOnPageChangeListener(new MyPagerChangeListener());}@Overrideprotected void onStart() { scheduleExecutorService = Executors.newSingleThreadScheduledExecutor(); scheduleExecutorService.scheduleAtFixedRate(new ScrollTask(),1, 2 , TimeUnit.SECONDS);super.onStart();}@Overrideprotected void onStop() {// TODO Auto-generated method stubscheduleExecutorService.shutdown();super.onStop();}private class ScrollTask implements Runnable{public void run(){synchronized (viewPager) {System.out.println("currentItem: " + currentItem);currentItem = (currentItem + 1) % imageViews.size();handler.obtainMessage().sendToTarget();}}}private class MyPagerChangeListener implements OnPageChangeListener{private int oldPosition = 0;public void onPageSelected(int position){currentItem = position;tv_title.setText(titles[position]);dots.get(oldPosition).setBackgroundResource(R.drawable.dot_normal);dots.get(position).setBackgroundResource(R.drawable.dot_focused);oldPosition = position;}public void onPageScrollStateChanged(int arg0){}public void onPageScrolled(int arg0,float arg1,int arg2){}}private class MyAdapter extends PagerAdapter{@Overridepublic int getCount(){return imageResId.length;}@Overridepublic Object instantiateItem(View arg0,int arg1){((ViewPager) arg0).addView(imageViews.get(arg1));return imageViews.get(arg1);}@Overridepublic void destroyItem(View arg0,int arg1,Object arg2){((ViewPager) arg0).removeView((View) arg2);}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic void restoreState(Parcelable arg0, ClassLoader arg1) {}@Overridepublic Parcelable saveState() {return null;}@Overridepublic void startUpdate(View arg0) {}@Overridepublic void finishUpdate(View arg0) {}}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="180dip" android:background="#FFFFFF" android:orientation="vertical"> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="fill_parent" android:layout_height="fill_parent"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="35dip" android:layout_gravity="bottom" android:gravity="center" android:orientation="vertical"> <TextView android:id="@+id/tv_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="3dip" android:gravity="center"> <View android:id="@+id/v_dot0" style="@style/dot_style" android:background="@drawable/dot_focused"/> <View android:id="@+id/v_dot1" style="@style/dot_style"/> <View android:id="@+id/v_dot2" style="@style/dot_style"/> <View android:id="@+id/v_dot3" style="@style/dot_style"/> <View android:id="@+id/v_dot4" style="@style/dot_style"/> </LinearLayout> </LinearLayout> </FrameLayout></LinearLayout>
这个不是自己写出来的,是参照着别人的代码做出来的,
放着以后自己看,哈哈
0 0
- 安卓中图片自动切换特效
- 图片自动切换并淡入淡出特效
- 带左右箭头切换的自动滚动图片JS特效
- Android中轴旋转特效实现,几张图片自动切换
- JS图片自动和可控的轮播切换特效
- 图片切换特效
- javascript:图片切换特效
- js 图片切换特效
- 图片幻灯片切换特效
- jquery 图片切换特效
- JS图片滤镜 焦点图片自动切换显示效果丨芯晴网页特效
- Android 图片切换特效 AndroidImageSlider
- js特效之图片切换
- Jquery特效六:图片自动变换特效
- Js图片特效:图片幻灯片切换
- 图片自动切换
- js图片自动切换
- 模糊自动切换图片
- 深入浅出React(一):React的设计哲学 - 简单之美
- C# List.Sort()用法
- android学习笔记2——Service
- PID控制小车视觉跟踪移动目标
- 爬虫入门-基础理论篇(上)
- 安卓中图片自动切换特效
- 深入浅出React(二):React开发神器Webpack
- Django引入静态资源文件
- finereport 的js中如何调用sql 语句
- 爬虫入门-基础理论篇(下)
- 【数据结构算法】约瑟夫环问题(线性表)
- 严重: StandardWrapper.Throwable
- 测试
- iOS 9 网络适配