Android Viewpager 内外间距

Android使用Viewpager_内外边距


代码:

1、adapter:

<?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="@drawable/button_bg"android:gravity="center"android:orientation="vertical"android:padding="20dp"><ImageViewandroid:id="@+id/ivImg"android:layout_width="match_parent"android:layout_height="300dp"android:scaleType="centerCrop" /><TextViewandroid:id="@+id/tvName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginTop="10dp"android:textSize="24dp"android:textStyle="bold" /></LinearLayout>
public class VpAdapter extends PagerAdapter {private Context mContext;private List<VpModel> mList;public VpAdapter(Context context, List<VpModel> list) {this.mContext = context;this.mList = list;}@Overridepublic int getCount() {return mList == null ? 0 : mList.size();}@Overridepublic boolean isViewFromObject(@NonNull View view, @NonNull Object object) {return view == object;}@Overridepublic void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {container.removeView((View) object);}@NonNull@Overridepublic Object instantiateItem(@NonNull ViewGroup container, int position) {View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_vp, container, false);ImageView img = itemView.findViewById(R.id.ivImg);TextView name = itemView.findViewById(R.id.tvName);Glide.with(mContext).load(mList.get(position).getUrl()).into(img);name.setText(mList.get(position).getName());container.addView(itemView);return itemView;}
}

2、UI

<?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:clipChildren="false"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginTop="50dp"android:text="VP Test"android:textSize="30dp" /><androidx.viewpager.widget.ViewPagerandroid:id="@+id/vp"android:layout_width="match_parent"android:layout_height="400dp"android:layout_marginLeft="30dp"android:layout_marginTop="20dp"android:layout_marginRight="30dp"android:clipChildren="false" /></LinearLayout>
public class VpActivity extends ComponentActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.vp_activity);List<VpModel> list = new ArrayList<>();list.add(new VpModel("https://st-gdx.dancf.com/gaodingx/1942/articles/0/20201117-160009-ff34.png","哦莫"));list.add(new VpModel("https://pic0.sucaisucai.com/11/50/11050520_2.jpg","伸手让世界闭嘴"));list.add(new VpModel("https://cdn.pixabay.com/photo/2015/03/18/11/02/sunset-679122_1280.jpg","街边的服务站"));ViewPager viewPager = findViewById(R.id.vp);viewPager.setOffscreenPageLimit(list.size());viewPager.setPageMargin(30);viewPager.setAdapter(new VpAdapter(this, list));}
}

3、数据类

public class VpModel {private String url;private String name;public VpModel(String url, String name) {this.url = url;this.name = name;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572010.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言内存操控的艺术探索:踏足四大秘境,铸就内存管理之巅峰传奇

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看&#xff0c;已成习惯 创作不易&#xff0c;多多支持&#xff01; 在C语言的内存管理领域&#xff0c;四大秘境之一的内存操作函数无疑为程序员提供了强大的工具。这些函数——memcpy、memmove、mems…

如何用ChatGPT写简历与自传How to Write a Resume and Autobiography with ChatGPT

在使用ChatGPT撰写简历和自传时&#xff0c;虽然它能够帮助您组织思路和提供结构建议&#xff0c;但请注意&#xff0c;由于ChatGPT并不了解您的个人经历、技能和具体工作细节&#xff0c;因此无法直接为您生成真实内容。以下是一个基本的指导框架&#xff0c;您可以根据这个框…

测试开发工程师(QA)职业到底需要干些什么?part5:性能测试工程师QA

工作职责 性能测试工程师&#xff08;Performance Testing Engineer&#xff09;是负责评估和优化软件、应用程序或系统在不同负载和压力条件下的性能的专业人员。他们的工作职责包括以下几个方面&#xff1a; 性能测试计划&#xff1a;性能测试工程师与开发团队、产品团队和系…

Vtk裁剪功能之平面裁剪vtkClipClosedSurface(vtk小记)

1.原理分析 对你的三维图形&#xff0c;使用一个平面切下去&#xff0c;然后保留一半。 确定一个平面&#xff1a;使用法向量和一个三维坐标点可以确定一个平面 原始图像 切一刀 切两刀&#xff0c;又一半 切三刀&#xff0c;又一半 源代码 #include <vtkActor.h> #i…

MySQL中如何进行多表查询

目录 一、子查询 1.什么是子查询 2.注意事项 二、联结查询 1.什么是联结 2.内部联结&#xff08;等值联结&#xff09; ①WHERE语句 ②ON语句 3.自联结 4.自然联结 5.外部联结 三、组合查询 1.什么是组合查询 2.UNION规则 *本节涉及概念来源于图灵程序设计丛书&a…

【jenkins+cmake+svn管理c++项目】Windows环境安装以及工具配置

一、目标和环境 目标&#xff1a;搭建一个jenkins环境&#xff0c;实现jenkins调用cmake和svn和VS编译c项目&#xff0c;并将生成的库上传svn。 环境&#xff1a;win10虚拟机&#xff08;练习流程用&#xff0c;正式用的话还是放到服务器&#xff09;&#xff0c;VS2017. 二、…

文件编辑命令—vim

1.vim vim 是vi的升级版本.vi 文件名(vi方向键用不了) vim 的官方网站 (welcome home : vim online) 自己也说 vim 是一个程序开发工具而不是文字处理软件。 2.安装vim sudo apt install vim 如果出错了:apt update:刷新软件源; 出现"无法获得锁 之类的"sudo rm 文件…

Linux 的 app :一般到哪里下载 ?(**)

利用 appimagetool 工具对开发好的项目进行打包 &#xff08;***带笔记*&#xff09; https://blog.csdn.net/ken2232/article/details/131313613 1. 首选&#xff0c;直接通过 OS发行版的官网仓库&#xff1a;简单、方便&#xff1b;可能相对最可靠。 如&#xff1a; sudo a…

如何用全身动作捕捉设备升级虚拟仿真实训室?

伴随着“科教强国”、“科教兴国”建设&#xff0c;数字化转型影响着职业教育未来&#xff0c;全身动作捕捉设备搭建数字人实训室&#xff0c;可以有效升级虚拟仿真实训室及相关建设&#xff0c;让实训教学体系更加完善。 以全身动作捕捉设备为主导的虚拟仿真实训室&#xff0…

RHCE-3-远程登录服务

简介 概念 远程连接服务器通过文字或图形接口方式来远程登录系统&#xff0c;让你在远程终端前登录linux主机以取得可操作主机接口&#xff08;shell&#xff09;&#xff0c;而登录后的操作感觉就像是坐在系统前面一样 功能: 分享主机的运算能力 服务器类型&#xff1a;有限…

0.96寸OLED屏调试 ----(三)

所需设备&#xff1a; 1、USB 转 SPI I2C 适配器&#xff1b;内附链接 2、0.96寸OLED显示模块&#xff1b; 备注&#xff1a;专业版、升级版都适用&#xff1b; 经过前面两期的介绍&#xff0c;大家应该对OLED显示模块有了大致的了解&#xff0c;今天先来参插一下调试界面&…

第44期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…