安卓开发笔记(二十五):ViewPager的使用
程序员文章站
2022-05-29 12:05:56
首先我们来看看运行之后的效果: 然后我们也不多说废话了,下面是这个项目所需要的全部代码,很多博主写这个都不把代码写完,因此笔者自己也琢磨了一会儿才把这个弄出来,感觉很烦,但我肯定会把代码写全的。我这里一共引入了三个界面,三个布局的xml我都会写的。 1.MainActivity.java 2.Myp ......
-
首先我们来看看运行之后的效果:
然后我们也不多说废话了,下面是这个项目所需要的全部代码,很多博主写这个都不把代码写完,因此笔者自己也琢磨了一会儿才把这个弄出来,感觉很烦,但我肯定会把代码写全的。我这里一共引入了三个界面,三个布局的xml我都会写的。
1.mainactivity.java
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 java.util.arraylist; public class mainactivity extends appcompatactivity { private viewpager vpager_one; private arraylist<view> alist; private mypageradapter madapter; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); vpager_one = (viewpager) findviewbyid(r.id.vpager_one); alist = new arraylist<view>(); layoutinflater li = getlayoutinflater(); alist.add(li.inflate(r.layout.view_one,null,false)); alist.add(li.inflate(r.layout.view_two,null,false)); alist.add(li.inflate(r.layout.view_three,null,false)); madapter = new mypageradapter(alist); vpager_one.setadapter(madapter); } }
2.mypageradapter.java
这个是viewpager的适配器,和listview所需要的适配器差不多,是我们创建的新类。
import android.support.v4.view.pageradapter; import android.view.view; import android.view.viewgroup; import java.util.arraylist; public class mypageradapter extends pageradapter { private arraylist<view> viewlists; public mypageradapter() { } public mypageradapter(arraylist<view> viewlists) { super(); this.viewlists = viewlists; } @override public int getcount() { return viewlists.size(); } @override public boolean isviewfromobject(view view, object object) { return view == object; } @override public object instantiateitem(viewgroup container, int position) { container.addview(viewlists.get(position)); return viewlists.get(position); } @override public void destroyitem(viewgroup container, int position, object object) { container.removeview(viewlists.get(position)); } }
3.activity_main.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=".mainactivity"> <android.support.v4.view.viewpager android:id="@+id/vpager_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> </android.support.constraint.constraintlayout>
4.view_one
<?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:background="#ffba55" android:gravity="center" android:orientation="vertical"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="第一个page" android:textcolor="#000000" android:textsize="18sp" android:textstyle="bold" /> </linearlayout>
5.view_two
<?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:background="#ffba55" android:gravity="center" android:orientation="vertical"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="第二个page" android:textcolor="#000000" android:textsize="18sp" android:textstyle="bold" /> </linearlayout>
6.view_three
<?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:background="#ffba55" android:gravity="center" android:orientation="vertical"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="第三个page" android:textcolor="#000000" android:textsize="18sp" android:textstyle="bold" /> </linearlayout>
得解,就这么简单。我真是不知道其他博主为啥不把代码写全,尤其是每个viewpager的布局,连说都不说下有三个布局,真实让人头大。
推荐阅读
-
安卓应用开发通过java调用c++ jni的图文使用方法
-
安卓开发笔记(十八):实现button按钮事件的三种方法
-
安卓开发笔记(三十五):Cardview的简单使用
-
安卓开发笔记(二十五):ViewPager的使用
-
安卓逆向|菜鸟的FRIDA学习笔记:如何使用FRIDA调用so文件里的函数
-
安卓开发笔记(三十一):shape标签下子类根结点的具体使用
-
UEventObserver在安卓应用开发中的使用
-
安卓应用开发通过java调用c++ jni的图文使用方法
-
安卓开发笔记(二十):利用夜神模拟器调试运行Android Studio的apk
-
安卓开发学习笔记(五):史上最简单且华丽地实现Android Stutio当中Webview控件https/http协议的方法