学向勤中得,萤窗万卷书。这篇文章主要讲述Android ViewPager 的使用相关的知识,希望能为你提供帮助。
Android 中使用ViewPager【Android ViewPager 的使用】学习自:博客园部分博客
Overviewandroid中ViewPager的效果还是非常好用的,他的效果就是滑动切换view的效果。接下来让我们看一下如何使用我们的ViewPager。
编写适配器首先我们创建一个适配器,并且我们需要继承PagerAdapter
.接着我们看一下源码。
public class ViewPageAdapter extends PagerAdapter {
List<
View>
mList = new ArrayList<
>
();
public ViewPageAdapter(List<
View>
mList) {
this.mList = mList;
}/**
* @ClassName:ViewPageAdapter - 返回List数量
* @author:CaoJiaHao
* @Param:
**/
@Override
public int getCount() {
return mList.size();
}/**
* @ClassName:ViewPageAdapter - 将窗体进行绑定
* @author:CaoJiaHao
* @Param:
**/
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}/**
*@ClassName:ViewPageAdapter - 销毁View的过程
*@author:CaoJiaHao
*@Param:
**/
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(mList.get(position));
}/**
*@ClassName:ViewPageAdapter - 这个为显示的View
*@author:CaoJiaHao
*@Param:
**/
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
container.addView(mList.get(position));
return mList.get(position);
}
}
接着让我们来分析一下,我们的代码。
Adapter源码分析
在这里我们的Items 都是通过集合去添加的,我们创建了一个
List<
View>
。并且通过适配器来进行items 的添加。那么我们的适配器中都有些什么呢。
适配器的构造函数,参数为
List<
View>
然后还有
GetCount();
,isViewFormObject
,destoryItem
,instantiateItem
.这部分内容大概就是我们基础使用
ViewPager
所需要使用到的适配器了。现在是适配器使用完成了。让我们看一下如何去使用我
ViewPager
。ViewPager 的使用过程 我们先看一下我们的布局代码吧
<
androidx.constraintlayout.widget.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"
android:padding="10dp"
tools:context=".MainActivity">
<
androidx.viewpager.widget.ViewPager
android:id="@+id/ViewPager1"
android:layout_width="match_parent"
android:layout_height="250dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<
/androidx.constraintlayout.widget.ConstraintLayout>
布局文件十分的简单。在该布局文件中,我们只创建了一个
ViewPager
。接着让我们看一下业务代码吧。
public class MainActivity extends AppCompatActivity {
private List<
View>
viewList = new ArrayList<
>
();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View view1= new View(this);
view1.setBackgroundColor(Color.RED);
View view2= new View(this);
view2.setBackgroundColor(Color.GREEN);
View view3= new View(this);
view3.setBackgroundColor(Color.BLACK);
View view4= new View(this);
view4.setBackgroundColor(Color.YELLOW);
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
viewList.add(view4);
ViewPager viewPager = findViewById(R.id.ViewPager1);
viewPager.setAdapter(new ViewPageAdapter(viewList));
}
}
这些就是我们的业务逻辑,我们来看一下他的内容:
先是创建了4个View。并且将他添加到我们的List中,然后初始换我们的ViewPager并且将它进行绑定。
这样我们=所有的过程就已经完成了。
运行效果现在我们的代码已经全部完成了。那么让我们看一下我的运行效果吧。
文章图片
推荐阅读
- Android binder介绍
- 某宝app抓包插件编写
- 图像学超级简单指南(图标设计)
- 了解字体分类的细微差别
- 偷窃的艺术(如何成为一名大师设计师)
- 50种最佳Sketch插件的终极清单
- 如何在Sketch中创建嵌套符号
- 如何创建自定义加载动画以降低跳出率
- 需要出色的UX设计吗(放下你的自我。)