因为最近事多,没怎么更新过,现在弄好了,更新一下我的小代码<图片的轮播>,说来这么小功能挺简单的,相信聪明机智的你一看就会!在此我想说一下,在日常学习工作当中注意**代码规范**是必须的,不光对自己,对他人,对团队,对以后的新人都有好处,这是一大神的总结http://blog.youkuaiyun.com/vipzjyno1/article/details/23542617
布局
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"
tools:context="${relativePackage}.${activityClass}" >
<android.support.v4.view.ViewPager
android:id="@+id/viPager"
android:layout_width="fill_parent"
android:layout_height="130dip" />
</RelativeLayout>
适配器
package com.yuan.lun.adapter;
import java.util.List;
import com.yuan.lun.imagurl.ImageUrl;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class ImagAdapter extends PagerAdapter {
private List<ImageView> list;
public ImagAdapter(List<ImageView> list) {
super();
this.list = list;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView iv=list.get(position%ImageUrl.images.length);
container.addView(iv);
return iv;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
图片工具类
package com.yuan.lun.imagurl;
public class ImageUrl {
public static final String[] images = {
"assets://a.jpg",
"assets://b.jpg",
"assets://c.jpg",
"assets://e.jpg",
"assets://f.jpg",
"assets://g.jpg",
"assets://h.jpg",
"assets://i.jpg",
"assets://d.jpg"
};
}
主Activity
package com.yuan.lun;
import java.util.ArrayList;
import java.util.List;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.yuan.lun.adapter.ImagAdapter;
import com.yuan.lun.imagurl.ImageUrl;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
public class MainActivity extends Activity {
private ImageLoader mLoader;
private ViewPager viPager;
private List<ImageView> mList;
@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
viPager.setCurrentItem(viPager.getCurrentItem()+1);
sendMagess();
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
mLoader = ImageLoader.getInstance();
initView();
}
/**
* 初始化
*/
private void initView() {
viPager = (ViewPager) findViewById(R.id.viPager);
initImageView();
viPager.setAdapter(new ImagAdapter(mList));
sendMagess();
}
/**
* 图片加载处理
*/
private void initImageView() {
mList = new ArrayList<ImageView>();
for (int i = 0; i < ImageUrl.images.length; i++) {
ImageView iv=new ImageView(this);
iv.setOnTouchListener(new ImageTouchEvent());
iv.setScaleType(ScaleType.FIT_XY);
mLoader.displayImage(ImageUrl.images[i], iv);
mList.add(iv);
}
}
/**
* 发送
*/
private void sendMagess() {
handler.sendEmptyMessageDelayed(0, 3000);
}
/**
* 点击事件
*/
class ImageTouchEvent implements View.OnTouchListener{
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
handler.removeCallbacksAndMessages(null);
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
sendMagess();
break;
}
return true;
}
}
}