日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

android使用ViewPager實(shí)現(xiàn)輪播效果教程 android banner輪播圖( 三 )


import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RadioButton;
import cn.edu.huse.banner_re.adapter.MyViewPagerAdapter;
import cn.edu.huse.banner_re.util.ImageLoader;
import cn.edu.huse.banner_re.util.ImageLoader.OnImageLoadListener;
import cn.edu.huse.banner_re.util.JSONLoader;
import cn.edu.huse.banner_re.util.JSONLoader.OnJSONLoadListener;
public class MainActivity extends Activity implements OnClickListener{
public static final String URL_GIFT = "http://www.1688wan.com/majax.action?method=getGiftList&pageno=1";
public static final String URL_BASE = "http://www.1688wan.com";
private ListView mLv;
//放置圓點(diǎn)圖片的布局
private LinearLayout mLayout;
private ViewPager mPager;
//保存viewpager上圖片的集合
private List mImageViews;
//保存圓點(diǎn)圖片的集合
private List mDotViews;
//當(dāng)前圖片
private ImageView mDotView;
//當(dāng)前下標(biāo)
private int mIndex;
private Handler mHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化viewpager
initViewPager();
}
private void initViewPager() {
new JSONLoader().loadJSON(URL_GIFT, new OnJSONLoadListener() {
@Override
public void onJSONLoadComplete(String json) {
//得到圖片的地址
List list = josnPare(json);
//初始化主控件
initView();
//將圖片顯示到viewpager中
initImageViews(list);
//為ViewPager設(shè)置適配器
mPager.setAdapter(new MyViewPagerAdapter(mImageViews));
//加載圓點(diǎn)圖片
initDot(mImageViews.size());
//實(shí)現(xiàn)圖片的輪播
mPager.postDelayed(new Runnable() {
@Override
public void run() {
//下標(biāo)自動(dòng)++
mIndex++;
//當(dāng)下標(biāo)到最后時(shí),就重新來(lái)過(guò)
if(mIndex >= mImageViews.size()){
mIndex = 0;
}
//設(shè)置圖片
mPager.setCurrentItem(mIndex);
//重復(fù)調(diào)用
mHandler.postDelayed(this, 1500);
}
}, 1500);
//添加頁(yè)碼滑動(dòng)的監(jiān)聽,實(shí)現(xiàn)圓點(diǎn)圖片的切換
mPager.setOnPageChangeListener(new OnPageChangeListener() {
//頁(yè)選中后調(diào)用
@Override
public void onPageSelected(int arg0) {
//改變?cè)瓉?lái)的圓點(diǎn)圖片的狀態(tài)
mDotView.setEnabled(true);
//更新當(dāng)前的圓點(diǎn)圖片
mDotView = mDotViews.get(arg0);
//將當(dāng)前選中的圓點(diǎn)設(shè)為選中狀態(tài)
mDotView.setEnabled(false);
//更新下標(biāo)
mIndex = arg0;
}
//滑動(dòng)中途調(diào)用
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
//頁(yè)面滑動(dòng)狀態(tài)修改
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
});
}
/**獲取圓點(diǎn)圖片函數(shù)
* @param count viewpager上圖片的數(shù)量
*/
private void initDot(int count){
mDotViews = new ArrayList();
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
//設(shè)置邊距
params.setMargins(5, 0, 5, 0);
for(int i = 0; i < count; i++){
ImageView image = new ImageView(this);
//設(shè)置圓點(diǎn)圖片
image.setImageResource(R.drawable.mydot);
//設(shè)置圖片的位置,方便后面的取值
image.setTag(i);
//設(shè)置監(jiān)聽
image.setOnClickListener(this);
//添加到布局中
mLayout.addView(image, params);

推薦閱讀