首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ViewPager2:官方Viewpager升级版来临

这两天浏览开发者官网的时候,发现google悄然推出了一个新的控件:ViewPager2,一看名称就知道这是一个和我们常用的ViewPager功能相似的控件,算是ViewPager的升级版吧。...目前还只是推出了第一个预览版,我们可以直接引入来使用了: implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha01' 我们先来看看有哪些功能和使用上的变化...的核心实现就是RecyclerView+LinearLayoutManager了,因为LinearLayoutManager本身就支持竖向和横向两种布局方式,所以ViewPager2也能很容易地支持这两种滚动方向了...使用 通过android:orientation来指定滚动方向 <androidx.viewpager2.widget.ViewPager2 android:id="@+id/<em>viewpager2</em>...小结 <em>viewpager2</em>利用recyclerview来实现viewpager的功能,无疑使使其可扩展性大大提升,代码也变得更优雅简洁,<em>使用</em>起来也更灵活。

1.7K10

ConstraintLayout+ViewPager2打造《摇一摇新年幸运签》App

采用Kotlin语言进行编写,涉及到的技术有:ConstraintLayout、Drawable、 自定义View、Android动画、Viewpager2、字体的设置和传感器的使用。...手机的小伙伴可以下载安装包 体验一把,我是停不下来!...正文开始啦 首先这个布局看起来挺简单的对吧,LinearLayout设置方向vertical,中间在用一个LinearLayout设置方向horizontal。...image.png ConstraintLayout使用 啰嗦两句,有的小伙伴可以没用过,可以参考下 在ConstraintLayout中的控件横竖两个方向都至少要选择一个进行约束,否则控件将在左上角进行摆放...ViewPager2一屏多页效果 这里和ViewPager的一屏多页有很大区别,ViewPager采用为给自身设置margin并设置clipChildren属性为false。

67120
您找到你想要的搜索结果了吗?
是的
没有找到

ConstraintLayout+ViewPager2打造《摇一摇新年幸运签》App

采用Kotlin语言进行编写,涉及到的技术有:ConstraintLayout、Drawable、 自定义View、Android动画、Viewpager2、字体的设置和传感器的使用。...手机的小伙伴可以下载安装包 体验一把,我是停不下来!...正文开始啦 首先这个布局看起来挺简单的对吧,LinearLayout设置方向vertical,中间在用一个LinearLayout设置方向horizontal。...[image.png] ConstraintLayout使用 啰嗦两句,有的小伙伴可以没用过,可以参考下 在ConstraintLayout中的控件横竖两个方向都至少要选择一个进行约束,否则控件将在左上角进行摆放...ViewPager2一屏多页效果 这里和ViewPager的一屏多页有很大区别,ViewPager采用为给自身设置margin并设置clipChildren属性为false。

1.7K20

ViewPager2与Fragment

生命周期会跟Activity绑定 , 所以导致Fragment在不可见的时候 , onStart/onResume也会被回调 ....于是 , 在配合setOffscreenPageLimit预加载的时候 , 由于早期版本的ViewPager至少需要预加载右侧一个页面 , 所以导致在实现懒加载的过程中需要通过 : setUserVisibleHint...ViewPager2与Fragment配合使用ViewPager2中 , 官方将Fragment的生命周期纠正了 , 可以随着ViewPager2的左右切换来回调Fragment当前的状态....ViewPager2设置Adapter的生命周期回调 在setAdapter之后 , ViewPager会回调onAttach、onCreate、onCreateView、onActivityCreate...向右再翻五页(即展示Fragment6) 当页面缓存超过7个 , 会将最后使用的Fragment销毁回收 优先创建操作 , 然后再进行回收 , 最后进行展示 // 创建3 E/CardFragmentTag

2.5K20

TabLayout+ViewPager实现切页的示例代码

使用TabLayout+ViewPager+Fragment 实现页面切换,可实现左右滑动切换视图界面和点击切换 可自定义菜单栏是在顶部还是在底部 一、实现效果: ?...二、实现过程: 2.1 一些重要的设置 添加必须依赖: 因为需要使用:import android.support.design.widget.TabLayout;,所以必须添加下列依赖 compile...文本默认颜色 app:tabSelectedTextColor="" Tab文本被选中后的颜色 app:tabTextAppearance="" 为Tab文本设置样式,一般是需要为Tab加图标使用...,宏定义 tabLayout.getTabAt(ItemWhat).select(); viewPager.setOffscreenPageLimit(3); //设置向左和向右都缓存的页面个数 //初始化菜单栏显示...,宏定义 tabLayout.getTabAt(ItemWhat).select(); viewPager.setOffscreenPageLimit(3); //设置向左和向右都缓存的页面个数 //初始化菜单栏显示

1.7K40

Android训练课程(Android Training) - 构建你的第一个应用

在你开始这个课程之前,确保你已经有了开发环境并设置好,你需要: 1.下载开发包(Android SDK) 2.为你的Eclipse安装ADT插件(如果你使用Eclipse集成开发环境的话) 3....默认情况下,这将被设置为你手中的可用SDK版本中的最新版本(它可能是4.1或者更高;如果你还没有任何一个可用版本,你必须使用SDK Manager安装一个)。...2.在你的设备上启用USB debugging(USB调试)模式 在很多运行在3.2或者更旧的版本上的设备,你可以在选项设置里找到: 设置>应用程序>开发者 在4.0或者更新一些的版本,他存在于...设置>开发者选项 注意:在4.0或者更新一些的版本 开发者选择 默认是隐藏的。...,使用 android:orientation 属性来指定方向

2.1K00

详解如何将 Android 手机投屏在 Ubuntu 上

) 性能 (30~60fps) 质量 (分辨率可达1920x1080或更高) 低延迟 (35-70ms) 快速启动 (数秒内即能开始显示) 无侵入性 (不需要在设备上安装任何程序) 3 使用要求...设备系统版本需要在Android 5.0(API 21)或以上。...在传输中每一帧都有 时间戳 ,所以 包延变化 并不影响录制的文件。 3. 连接方式 (1). 无线 Scrcpy 使用adb来与设备连接。...同时,adb能够通过TCP/IP连接到设备: 将您的设备和电脑连接至同一Wi-Fi。 获取设备的IP地址(在设置-关于手机-状态信息)。...双击黑色边界以关闭黑色边界 点击鼠标右键将在屏幕熄灭时点亮屏幕,其余情况则视为按下 返回键 。 需要版本 Android >= 7。

3.3K10

十六年全栈开发者的 Android 开发踩坑实录

回滚更改之后,我们费了好大一番功夫才找到问题所在。app 所使用的大部分谷歌官方软件包都可以完美适配限制 API 密钥后的代码,唯独其中一张地图需要重写另一套 API 调用代码。...但用户使用的软件版本不同时,API 的大更新可能会导致软件大范围的崩溃。应用内更新的方法可以帮忙缓解这种问题,但过程将会无比漫长。...优先离线的结构会将更改内容写入本地数据库,等有网络连接再进行同步。这样一来,用户得以在离线下使用 app,联网响应也会更快,用户不用再干巴巴地等着服务器传回响应才能进行下一步操作。 ?...在一些情境下,开发中的 Activity 可以被看做是 app 中某块屏幕的代码; 3.0 才有的 Fragments 则可以被理解子视图代码或是 app 中的部分代码。...这只是份不完全清单…… 当然,在开始你的第一份应用时,还有很多其他的事情需要考虑的,比如添加单元测试、确定一个 app 的模式后不要更改等等。

1K40

新增眼神控制功能!走路玩手机会警报,相册也可以加锁

首先就是不用再担心走路玩手机撞到电线杆了,更新了一个 Heads Up 功能,这项功能能够识别行走的动作,启用 Head Up 功能后,无论何时使用手机,当手机检测到用户在走动,都会收到警报,提醒用户去查看并保持警惕...这项功能在Google TV 和其他电视操作系统设备上都可以使用,通过在你的手机上的快速设置中添加远程互动程序,或者通过访问谷歌电视应用程序来访问,并且已经在14个国家可以使用了。...另外,如果是双SIM手机用户,现在可以选择通过Android Auto系统在拨打电话选择使用哪个SIM卡。...当连接到兼容的汽车,这些Android Auto 功能将很快在手机上可用。...通过改进附近共享中的可见性设置,用户可以完全控制谁可以发现设备并发送文件。可以在所有人、联系人或nobody之间进行选择,也可以随时通过手机的快速设置空间轻松更改偏好。

1.5K50

西瓜视频是如何实现“端到端HDR”的 | Q推荐

HDR 亮度自适应方案 为了给用户充分展现 HDR 内容,西瓜视频在移动端播放视频,需要充分利用设备屏幕的高动态范围。根据动态范围的定义,屏幕的动态范围由最大亮度和最低亮度(黑位)的比值决定。...当人们在一块 OLED 屏幕上观看 HDR 视频,由于其黑位是固定值,视频的动态范围完全由屏幕的最大亮度决定。...因此,为了让用户观看 HDR 内容感受到比 SDR 视频更高的动态范围,需要调高屏幕亮度来做到这一点。 目前主流的设备厂商缺乏统一的亮度管理方案。...为此,火山引擎多媒体实验室提出了国内首个端通用 HDR 亮度管理方案,在实验室测定了不同初始亮度下的最佳 HDR 观看亮度曲线,并集成到了西瓜视频端 APP,在不同机型和不同初始亮度下播放 HDR...视频自适应地调整当前屏幕亮度,保证了不同安机型都能够有相对稳定的 HDR 观看环境,进而提升用户的观看体验。

66120

Android9.0新特性曝光,你准备好了吗

Android9.0最早出现在2018年1月25日的谷歌官网上,初步代号已经确定为“Pistachio Ice Cream”(开心果冰淇淋),不过按照Google的惯例,如此长的三个单词代号,通常都只会在新版本开发初期使用...刘海设计 P 9.0的一个核心变化就是会支持类似iPhone X的刘海屏设计,能更好地优化屏幕内容布局,让系统和应用充分利用整个屏幕,尤其是刘海左右两侧的角落。...要打开自带的文件管理器,用户需要进入“设置”,然后点击“存储”,然后等待存储数据读取完毕,之后再点击“文件”。如此繁琐的步骤简直是反人类。这个问题在最新的8.1依然存在。...在三星的TouchWiz上,在未授权来源安装APP,用户可以允许这一次未知来源安装,但不会更改“不允许未知来源安装”的全局设置。...这样既可以允许这次安装,又不用再“翻山越岭”回到安全设置界面再次启用安装限制(不启用的话手机会失去保护)。 自带日历震动提示 自带的谷歌日历什么都好,唯一缺点就是震动提示几乎察觉不到。

64730

如何使用 VMware 安装虚拟机,如何配置虚拟机的网络和存储?

在进行应用程序开发,我们经常需要测试不同版本的系统以及针对不同屏幕尺寸和分辨率进行调试。为了方便测试和调试,可以使用 VMware 虚拟机来运行模拟器。...本文将介绍如何使用 VMware 安装虚拟机,以及如何配置虚拟机的网络和存储。下载镜像文件首先,我们需要下载适合 VMware 的镜像文件。...市面上有很多网站提供免费或收费的镜像文件下载,例如官方的 Android-x86 镜像文件。在下载镜像文件,需要选择适合自己电脑的版本。...步骤 5:安装系统创建虚拟机后,需要启动虚拟机并安装系统。打开虚拟机,按照系统的安装向导进行安装即可。配置网络安装完成后,默认情况下,虚拟机使用 NAT 网络模式连接互联网。...步骤 3:保存更改完成网络配置后,单击“OK”按钮保存更改。重新启动虚拟机后,它就可以使用与主机相同的网络连接,可以直接访问互联网和其他设备。配置存储默认情况下,虚拟机的存储空间是有限的。

5.7K00

ViewPager2避坑系列】瞬间暴增数个Fragment

作者:HitenDev 链接:https://juejin.im/post/5ce15668f265da1bbf68ed52 1 前言 最近我在关注ViewPager2使用,期间一直基于官方的Demo...measureHorizontal(widthMeasureSpec, heightMeasureSpec); } } LinearLayout的onMeasure()方法分为竖直方向和水平方向...就失去了ItemView一屏显示一个的特性,所以会出现开头说的瞬间暴增多个Fragment现象; 由于ViewPager2配合Fragment使用时,根布局是FrameLayout这个无法改变,解决办法就是不允许出现跟滑动方向相同的维度测量上...,出现UNSPECIFIED; 如果父布局是LinearLayout,横向滑动要避免layout_width="0dp"和layout_weight="1",纵向滑动要避免layout_height...6 总结 注意ViewPager2配合Fragment使用时,一旦发现Fragment瞬间暴增的情况,可能是Item尺寸测量的不对,造成这个原因要优先想到UNSPECIFIED,·如果用的LinearLayout

7.2K30

Android Focusable in Touch Mode 介绍

下面总结 官方文档 Touch Mode 的介绍: Touch Mode 由于现在手机基本都是触摸屏,导致我们没有意识到 Touch Mode 其实是一种特殊的状态,不同于 Selection,...在几年前,有些手机上面还保留着键盘、触摸球(上图红色圈内),这个触摸球的作用相当于现在电视遥控器的上下左右键。...当我们用手触摸屏幕选中内容后,会进入 Touch Mode; 但是当我们用触摸球左右移动(按下遥控器方向键也一样),就会离开 Touch Mode; 听起来似乎很简单,但是一个控件还有其他状态,当这些状态切换...现在的应用开发比那个年代要轻松多了,但是在物联网发展下,我们还要考虑智能电视等其他智能设备的这些输入情景。...由于设置了这个属性后会引起正常交互不一致的效果,所以官方建议我们保守地使用这个属性,在你确定要用它之前最好三思而后行。

1.3K60

什么是无障碍适配?

软件上的"有障碍"群体在使用软件,大概有以下几种“有障碍”群体,是无法像普通人一样的:视障群体。他们看不清,需要更大的字号。又或者完全看不到,需要语音播报内容。听障群体。他们听不清,需要更大的音量。...你可以去手机的设置中搜索“读屏”、“无障碍”、“屏幕朗读”等关键词,开启这一辅助功能,体验一下。...下面是我个人罗列了一些常用操作:常用表现 Talk Back iOS Voice...三指同方向滑动各个机型的语音播报是有差异的,对无障碍的支持能力参差不齐,而iOS对无障碍适配就非常优秀。...所以大部分视障群体更愿意使用Apple系列产品。我们做无障碍测试,经常遇到Android和iOS播报有差异。我们要求必须兼容iOS的语音播报,不会花太多心思去兼顾所有机的语音播报软件。

3K73

Android 1.5到10.0 都有哪些新特性?

,新的“Car Home”应用程序为各功能提供了易于操作的快捷链接,还能方便地使用语音控制功能,便于用户驾车使用 Android 2.1 可以同时绑定多个Google账号; 无线控件里有了V**设置...目前,7.0开发者预览版支持全部第三方应用尝试分屏操作,但个别应用适配可能存在问题,分屏后可能导致界面显示不全等问题....流量保护模式 7.0新增的流量保护模式不仅可以禁止应用在后台使用流量,还会进一步减少该应用在前台的流量使用。...7.0允许用户单独针对每个应用,选择是否开启数据保护模式。 全新设置样式 7.0启用了全新的设置样式,首先每个分类下各个子项之间的分割线消失了,只保留分类之间的分割线。...谷歌也在7.0的设置中加入了汉堡菜单,在二级设置界面中的左上角,你就会看到这个汉堡菜单,点击后即可看到所有设置项,方便用户快速跳转。

2K20

蓝牙键盘鼠标映射_蓝牙鼠标模拟器

相关文章:《蓝牙HID TouchScreen协议让你的手机变成触摸屏》 本文源码下载地址:《仅通过蓝牙HID将手机模拟成鼠标和键盘》源码 多文源码打包下载: 《仅通过蓝牙HID将手机模拟成鼠标和键盘...》+《通过蓝牙将手机模拟成游戏方向盘-支持旋转轮胎》三份源码打包下载 【2022.04.21】源码在Android 12中运行注意事项:由于Android 12对蓝牙权限做了调整,取消了位置信息,增加了扫描...安装了HidDroid后的机要控制苹果手机需要做如下设置,在苹果手机上找到:设置->辅助功能->触控->辅助触控->设备,选择已经配对并连接的手机,设置成功后屏幕上出现一个白色的球,这个球就是鼠标指针...这些我都试了,在卓里虽然不能调节屏幕亮度,其它功能是不受影响的,但是到win10所有功能都受影响了。...下面一篇博客谈谈如何通过蓝牙将手机模拟成游戏方向盘:通过蓝牙让9.0成为PC游戏方向盘手柄-支持旋转轮胎 相关文章:《蓝牙HID TouchScreen协议让你的9.0变成触摸屏》 版权声明

5.5K20

实现-光速虚拟机技术内幕

选择光速虚拟机作为研发方向主要考虑了如下三种场景: 1)游戏场景 用户在玩游戏的时候需要多开游戏,或者息屏以后仍然希望游戏能够运行。...也不会因为主机内核的漏洞导致APP之间的互相穿透行为。 2,完整的硬件抽象层次 光速虚拟机基于真机系统的卓资源,实现了一个完整的硬件抽象层包含显示屏幕、输入输出设备、蓝牙等。...这样能对虚拟机内部的APP使用硬件资源能够进行很强的管控。甚至可以的对屏幕打盲水印这样一些特殊安全能力。...由于各个系统所基于的linux内核版本不一致,各个厂商对内核也有会很多修改,光速虚拟机对真机内核使用的时候尽可能按照最少使用原则来,尽可能不使用新内核的新特性。...如果虚拟机进程使用真机的TLS,会导致从虚拟机进入真机或者从真机回到虚拟机出现数据混乱的情况。这时就需要进程在虚拟机内部TLS和真机TLS的切换过程。

9.3K4926

移动 web 开发最佳实践

[1497421524435_9097_1497421524624.jpg] 0、问题的引出 提到移动设备开发,最先让人想起的是苹果和,以及他们那些令人头疼的多屏幕适配。...根据本文的第一张图显示,苹果1334750分辨率最多,而则是19201080最多,虽然有些差别,但是宽高比都是16:9的,缩放后失真不会太多。...下面是iphone系列各个宽高及像素比: 屏幕尺寸更加多样,分辨率有很多种,相应地,设备像素比也不一致,有1、1.5、2、2.25、3等等。也有1.5倍图等概念。...这两年发展突飞猛进,分辨率越来越高,1080x1920分辨率已成为普及,而2k、4k屏也即将到来,小的设计稿已无法满足超清的要求,很多App的设计都已步入3倍图的时代,那就是以iphone plus...,或者使用device-width/device-height可以指示视区宽度应为设备的屏幕宽度/高度。

3K10
领券