您的位置:首页 > 移动开发 > Android开发

Android中ViewPager常用功能7----画廊效果

2017-08-04 17:51 295 查看
效果图build.gradle引入依赖库:
compile 'com.github.bumptech.glide:glide:3.7.0'


主清单 添加权限

<uses-permission android:name="android.permission.INTERNET" />
MainActivity中

package com.example.viewpagertest2;

import android.app.Activity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.bumptech.glide.Glide;

import java.util.ArrayList;
import java.util.List;

/**
* viewPager手动滑动
*/
public class MainActivity extends Activity {

//  viewPager
private ViewPager viewPager;
//  存放图片资源的list
private List<String> imgResList;
//  装view的数组
private View[] viewArray;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
myOnclick();
}

/**
* 初始化控件
*/
private void initView() {

viewPager = (ViewPager) findViewById(R.id.viewPager);
//      设置滑动页的间距
viewPager.setPageMargin(30);
imgResList = new ArrayList<>();
imgResList.add("http://auto.gasgoo.com/Upload/Files/201303080456241article.jpg");
imgResList.add("http://img2.niutuku.com/desk/1208/0650/bizhi-0650-15882.jpg");
imgResList.add("http://imgsrc.baidu.com/imgad/pic/item/09fa513d269759ee991ed0e8b8fb43166d22df43.jpg");
imgResList.add("http://imgsrc.baidu.com/imgad/pic/item/43a7d933c895d1439284730579f082025aaf0721.jpg");

viewArray = new View[imgResList.size()];
//      实例化布局,加载图片,并放到数组中
for (int i = 0; i < viewArray.length; i++) {
//          存放布局
LayoutInflater layoutInflater = getLayoutInflater();
View view = layoutInflater.inflate(R.layout.activity_lay, null);
ImageView imageView = (ImageView) view.findViewById(R.id.imageView);
Glide.with(this).load(imgResList.get(i)).into(imageView);
viewArray[i] = view;
}

viewPager.setAdapter(new MyAdapter());
}

/**
* 适配器绑定图片
*/
public class MyAdapter extends PagerAdapter {

@Override
public int getCount() {
return viewArray.length;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View view = viewArray[position];
container.removeView(view);

}

@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = viewArray[position];
container.addView(view);
return view;

}
}

/**
* 点击事件
*/
private void myOnclick() {

}
}
activity_main.xml中(最重要的部分)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context="com.example.viewpagertest1.MainActivity">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!--最核心的部分就是这里的布局-->
<LinearLayout
android:id="@+id/vp_layout"
android:layout_width="fill_parent"
android:layout_height="140dp"
android:background="#FFFFCC"
android:clipChildren="false"
android:gravity="center"
android:layerType="software"
android:orientation="horizontal"
android:visibility="visible">

<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="60dp"
android:layout_marginRight="60dp"
android:clipChildren="false"
android:fadingEdge="none"
android:overScrollMode="never"
android:layout_gravity="center">
</android.support.v4.view.ViewPager>

</LinearLayout>

</RelativeLayout>
</LinearLayout>
activity_lay.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="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/b1"
android:scaleType="fitXY"
/>

</LinearLayout>
源码下载:
ViewPadeDemo----viewpagertest2
http://download.csdn.net/detail/zhaihaohao1/9921590


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: