初识ViewPager【Android】
16lz
2022-04-03
viewpager可以实现gallery的图片展示效果 java代码:
Xml布局文件:
使用 android.support.v4.view.ViewPager;
用ImageView 和 TextView都是可以的,只要设置背景图片
imageview 的
setBackgroundResource(resId)设置的是imageview的大小
setImageResource(resId)设置的是图片的实际的大小,相当于 布局文件中的 android:src = "resid"
注意:图片的大小未必是imageview的大小
布局文件:
package com.succ7.viewpagertest;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {private ViewPager viewpager;@Overrideprotected void onCreate(Bundle savedInstanceState) {requestWindowFeature(Window.FEATURE_NO_TITLE);super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewpager = (ViewPager) findViewById(R.id.viewpager);/*List<ImageView> lists = new ArrayList<ImageView>();ImageView imageView1 = new ImageView(this);imageView1.setBackgroundResource(R.drawable.g1);ImageView imageView2 = new ImageView(this);imageView2.setBackgroundResource(R.drawable.g2);ImageView imageView3 = new ImageView(this);imageView3.setBackgroundResource(R.drawable.g3);ImageView imageView4 = new ImageView(this);imageView4.setBackgroundResource(R.drawable.g4);*//*********************换成textview可以吗******************************/List<TextView> lists = new ArrayList<TextView>();TextView imageView1 = new TextView(this);imageView1.setBackgroundResource(R.drawable.g1);TextView imageView2 = new TextView(this);imageView2.setBackgroundResource(R.drawable.g2);TextView imageView3 = new TextView(this);imageView3.setBackgroundResource(R.drawable.g3);TextView imageView4 = new TextView(this);imageView4.setBackgroundResource(R.drawable.g4);lists.add(imageView1);lists.add(imageView2);lists.add(imageView3);lists.add(imageView4);ViewPagerAdapter adapter = new ViewPagerAdapter(lists);viewpager.setAdapter(adapter);viewpager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {System.out.println("onPageSelected");Toast.makeText(MainActivity.this, arg0+"", 0).show();}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {System.out.println("onPageScrolled");Toast.makeText(MainActivity.this, arg0+"|"+arg1+"|"+arg2, 0).show();}@Overridepublic void onPageScrollStateChanged(int arg0) {System.out.println("onPageScrollStateChanged");Toast.makeText(MainActivity.this, arg0+"", 0).show();}});}class ViewPagerAdapter extends PagerAdapter {private List<TextView> lists;public ViewPagerAdapter(List<TextView> lists) {this.lists = lists;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {((ViewPager) container).removeView(lists.get(position));}@Overridepublic Object instantiateItem(ViewGroup container, int position) {((ViewPager) container).addView(lists.get(position));return lists.get(position);}@Overridepublic int getCount() {return lists.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}}}
Xml布局文件:
<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=".MainActivity" > <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
使用 android.support.v4.view.ViewPager;
用ImageView 和 TextView都是可以的,只要设置背景图片
imageview 的
setBackgroundResource(resId)设置的是imageview的大小
setImageResource(resId)设置的是图片的实际的大小,相当于 布局文件中的 android:src = "resid"
注意:图片的大小未必是imageview的大小
布局文件:
更多相关文章
- Android(安卓)如何获取摄像头所支持的所有分辨率
- android 实现流媒体播放远程mp3文件代码
- Android自定义对话框(Dialog)位置,大小
- Android(安卓)ToggleButton控件的用法
- Android内核的根文件系统
- android 闹钟定时任务 AlarmManager
- Android调用相机相册并显示照片在ImageView
- Android开场透明度渐变动画
- NPM 和webpack 的基础使用