Android ViewPager实现图片滑动预览效果
2017-06-15 15:13
387 查看
效果图:
滑动前:
滑动后:
代码非常简单,实现起来很容易
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="com.example.blog_0615.MainActivity">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/vp_main_viewpager"
></android.support.v4.view.ViewPager>
</android.support.constraint.ConstraintLayout>
Activity代码:
package com.example.blog_0615;
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.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
//定义图片数组
private int images[]={R.drawable.bird,R.drawable.cat,R.drawable.chicken};
//定义一个View的数组
private List<View> views=new ArrayList<>();
private ViewPager vp_main_viewpager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp_main_viewpager = (ViewPager) findViewById(R.id.vp_main_viewpager);
//将images数组中的图片放入ImageView
for (int i = 0; i < images.length; i++) {
ImageView imageView=new ImageView(this);
imageView.setImageResource(images[i]);
views.add(imageView);
}
//为ViewPager设置适配器
vp_main_viewpager.setAdapter(new MyAdapter());
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v=views.get(position);
container.addView(v);
return v;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View v=views.get(position);
//前一张图片划过后删除该View
container.removeView(v);
}
}
}
以上代码就可以实现上述效果啦
滑动前:
滑动后:
代码非常简单,实现起来很容易
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="com.example.blog_0615.MainActivity">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/vp_main_viewpager"
></android.support.v4.view.ViewPager>
</android.support.constraint.ConstraintLayout>
Activity代码:
package com.example.blog_0615;
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.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
//定义图片数组
private int images[]={R.drawable.bird,R.drawable.cat,R.drawable.chicken};
//定义一个View的数组
private List<View> views=new ArrayList<>();
private ViewPager vp_main_viewpager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp_main_viewpager = (ViewPager) findViewById(R.id.vp_main_viewpager);
//将images数组中的图片放入ImageView
for (int i = 0; i < images.length; i++) {
ImageView imageView=new ImageView(this);
imageView.setImageResource(images[i]);
views.add(imageView);
}
//为ViewPager设置适配器
vp_main_viewpager.setAdapter(new MyAdapter());
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v=views.get(position);
container.addView(v);
return v;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View v=views.get(position);
//前一张图片划过后删除该View
container.removeView(v);
}
}
}
以上代码就可以实现上述效果啦
相关文章推荐
- Android使用ViewPager实现图片滑动预览效果
- android实现图片左右滑动效果:viewpager
- Android 利用ViewPager实现图片可以左右循环滑动效果附代码下载
- Android开发之使用ViewPager实现图片左右滑动切换效果
- 实现android左右滑动效果:ViewFlipper、ViewPager、HorizontalScrollView
- Android实现左右滑动指引效果(使用ViewPager)
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果(牛逼)
- android viewflipper的使用 实现图片滑动效果
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果 .
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
- 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
- android 界面开发: 图片、界面滑动翻页效果(ViewPager)
- android开发之滑动效果实现图片浏览_ViewFilpper的使用
- Android中使用ViewPager和PagerTabStrip实现页面滑动效果
- android之ViewPager简单实现局部页面滑动效果
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
- Android: 扩展WebView 和ViewPager实现viewpager中的水平滑动,类似Gmail的效果