Android UI设计(引导界面):ViewPager之基本用法
16lz
2021-01-23
一、ViewPager介绍
ViewPager是由google为我们提供的兼容android的软件包v4提供的。利用它可以做许多事情,比如我们平时常见的软件刚安装时的滑动面,淘宝的自动循环的界面、最简单的导航等。
它的使用与ListView相似需要一个适配器,只是它需要的是PagerAdapter,但是它又有不同之处,listview中传递的是对象,而ViewPager中传递的是View。
二、v4 jar包的导入
先找到jar包
D:\software\android\Sdk\Sdk\extras\android\m2repository\com\android\support
Ecplise:点击jar包,复制,点开ecplise中相应的project,找到lib文件夹,复制进去即可。
Android Studio:File ——projectconstructor——viewpager-dependence-点击“+”找到support v4即可。
三、简单使用例子
ViewPager的使用,也是先需要在布局中引入,但是在布局文件中引入时需要注意要写全包名,view是小写。
<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" > android.support.v4.view.ViewPager>RelativeLayout>
PagerAdapter
适配器的创建需要重写它的两个方法destroyItem()<销毁>和 instantiateItem()<初始化>
package com.example.myviewpager;import java.util.List;import android.graphics.Picture;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.Toast;public class MyViewPagerAdapter extends PagerAdapter{ private List views; public MyViewPagerAdapter(List views) { super(); this.views = views; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView( views.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { View view=views.get(position); container.addView(view); if(position==2){ Button button=(Button) view.findViewById(R.id.button); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(v.getContext(),"点击成功", Toast.LENGTH_SHORT).show(); } }); } return view; } @Override public int getCount() { // TODO Auto-generated method stub return views.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0==arg1; }}
MainActivity:
public class MainActivity extends Activity { private ViewPager mviewpager; private List views; private MyViewPagerAdapter madapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mviewpager=(ViewPager) findViewById(R.id.viewpager); views=new ArrayList(); View view1=getLayoutInflater().inflate(R.layout.viewpager_item1, null); View view2=getLayoutInflater().inflate(R.layout.viewpager_item2, null); View view3=getLayoutInflater().inflate(R.layout.viewpager_item3, null); views.add(view1); views.add(view2); views.add(view3); madapter=new MyViewPagerAdapter(views); mviewpager.setAdapter(madapter); }
更多相关文章
- android Matrix处理图片原理及方法整理
- 全屏显示布局随机图片的显示
- Android调用系统自定义设置界面
- android 图片内存溢出
- Android 登陆界面及记住用户名密码
- Android实现图片随意拖动、缩放
- Android 之 自定义适配器
- Android图片双指缩放,单指移动实现
- android 获取assets下的图片