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

来源:互联网 发布:emui8.0 知乎 编辑:程序博客网 时间:2024/06/05 03:47

效果图


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

原创粉丝点击