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

折叠屏上应用设计规范,了解一下?

最重要一点是,栏式网格提供了一种合理方式来思考当屏幕尺寸变大或变小时如何将内容进行重排,从而帮助您对不同屏幕尺寸作出一致响应。...遵循 Material 指南,我们可以根据宽度尺寸类别提供替代布局,将导航调整到最方便使用位置。例如,小屏幕采用底部导航视图,中等屏幕采用 Navigation rail,大屏幕采用完整导航视图。...布局示例 当屏幕空间足够,则两个窗格至少都要达到指定宽度,剩余空间可通过 layout_weight 分配,如左图所示;如果空间不足,如右图所示,则每个窗格都使用父视图全宽,详情窗格将被滑到一边,...,当用户从列表中选择一个项目,我们从 ViewModel Kotlin 流中接收到该项目,然后更新详情窗格内容,并通过调用 openPane 将其滑入视图。...我们将使用这些坐标以及宽度和高度创建一个 Rect 对象,这样我们便得到了窗口坐标空间中视图边界。

4.3K20

从0系统学Android--4.2 Fragment 生命周期

4.3.1 碎片状态和回 运行状态 当一个碎片可见,并且它所关联活动正处在运行状态时,这个碎片也处于运行状态。...onDestroyView() 当与碎片关联视图被移除时候调用 onDetach() 当碎片和 Activity 解除关联时候调用。..." android:id="@+id/fg_right"/> 其中 large 就是一个限定符,那些屏幕被认为是large 设备就会自动加载 layout-large...Android 中一些常见限定符 4.4.2 使用最小宽度限定符 large 到底指多大呢?...最小宽度限定符允许我们指定一个最小值(以dp为单位),然后如果屏幕大于等于这个最小值则使用这个文件夹内布局,如果小于则使用默认布局 在 res 目录新建 layout-sw600dp 文件,在这个文件夹创建布局就可以了

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

Android开发笔记(一百零一)滑出式菜单

可是LinearLayout作为水平展示时有点逗,因为如果下面有两个子视图宽度都是match_parent,那么LinearLayout只会显示第一个子视图,第二个子视图却是怎么拉也死活显示不了。...现在我们既希望两个子视图宽度是match_parent,又希望能够拖动两个子视图,还有没有办法呢?...;若该参数是该视图宽度赋值,则表示视图页面完全隐藏了起来,跟visible="gone"效果类似。...这个判断可按照滑动偏移是否达到屏幕一半宽度条件,至于自动拉出或者自动缩进动画,可由Runnable来定时刷新视图leftMargin参数。 下面是一个简单侧滑效果截图: ?...不知道这个情况算不算Fragment一个bug,不管怎样,系统没有自动回收嵌套Fragment,就得我们自己手动回收了。

1.1K70

Android 自定义 HorizontalScrollView 打造多图片OOM 横向滑动效果(实例代码)

2、自定义HorizontalScrollView 思想: 1、首先根据屏幕大小和Item大小,计算可以一个屏幕最多可以加载多少个Item,然后加载该数量Item。...为了增加一定趣味,做了一个类似上面的相册效果,支持拖动时自动变化,和点击变化~~是不是很赞~ 1、首先看布局文件: <LinearLayout xmlns:android="http://schemas.android.com...*/ private int mCountOneScreen; /** * 屏幕宽度 */ private int mScreenWitdh; /** * 保存View与位置键值对...Map专门存储View和posion,主要是为了给点击回提供当前View位置,有点类似:Android 自定义 ViewPager 打造千变万化图片切换效果里面的Map巧妙用法~~ 是不是完全实现了...如果你项目中需要用到Gallery类似的效果,果断使用上例尝试吧~~ 源码下载 总结 以上所述是小编给大家介绍Android 自定义 HorizontalScrollView 打造多图片OOM 横向滑动效果

1.8K20

史上最全Android面试题集锦

、纵向上像素点数总和 一般描述成屏幕”宽x高”=AxB 含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向 (高)有B个像素点 例子:1080x1920,即宽度方向上有1080个像素点,在高度方向上有..., match_parent, weight.要确保布局灵活性并适应各种尺寸屏幕,应使用 “wrap_content”、“match_parent” 控制某些视图组件宽度和高度。...android:layout_weight真实含义是:如果View设置了该属性并且有效,那么该 View宽度等于原有宽度(android:layout_width)加上剩余空间占比。...在上面的代码中,我们设置每个Button宽度都是match_parent,假设屏幕宽度为L,那么每个Button宽度也应该都为L,剩余宽度就等于L-(L+L)= -L。...4.使用.9图片 6.3、今日头条屏幕适配 参考链接:今日头条屏幕适配方案终极版 7、性能优化 参考链接:Android 性能监测工具,优化内存、卡顿、耗电、APK大小方法 Android性能优化,

74340

端开发技术——解密Flutter响应式布局

它可以用于创建灵活、响应性强UI设计,以适应不同屏幕大小和尺寸。它允许您根据与布局中其他视图空间关系来指定每个视图位置和大小。...例如,你可以在平板电脑等设备上使用分屏视图来提供良好用户体验,并明智地使用大屏幕。...在Android中,你可以为不同屏幕大小定义不同布局文件,Android框架会根据设备屏幕大小自动处理这些布局之间切换。...在Android中,要在单个屏幕上显示多个UI视图,请使用Fragments,它们类似于可在应用程序Activity中运行可重用组件。...但是,如果您现在移动到一个特定屏幕,然后在视图之间切换,那么您将丢失页面的上下文,也就是说您将始终返回到第一个页面,即“聊天”。为了解决这个问题,我使用了多个回函数来返回所选页面到主页。

2.2K00

史上最全Android面试题集锦

、纵向上像素点数总和 一般描述成屏幕”宽x高”=AxB 含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向 (高)有B个像素点 例子:1080x1920,即宽度方向上有1080个像素点,在高度方向上有..., match_parent, weight.要确保布局灵活性并适应各种尺寸屏幕,应使用 “wrap_content”、“match_parent” 控制某些视图组件宽度和高度。...android:layout_weight真实含义是:如果View设置了该属性并且有效,那么该 View宽度等于原有宽度(android:layout_width)加上剩余空间占比。...在上面的代码中,我们设置每个Button宽度都是match_parent,假设屏幕宽度为L,那么每个Button宽度也应该都为L,剩余宽度就等于L-(L+L)= -L。...4.使用.9图片 6.3、今日头条屏幕适配 参考链接:今日头条屏幕适配方案终极版 7、性能优化 参考链接:Android 性能监测工具,优化内存、卡顿、耗电、APK大小方法 Android性能优化

1.3K42

如何在flutter中构建响应式布局(第五节)

那么,让我们开始吧,但首先,让我们知道 您在 Git 存储库中有多少移动应用程序项目? 安卓方法 为了处理不同屏幕尺寸和像素密度,Android 中使用了以下概念: 1....[ 在 Android 中,您可以为不同屏幕尺寸定义 单独布局文件,Android 框架会根据设备屏幕尺寸自动处理这些布局之间切换。![ ?随时了解应用开发新闻 3. 片段 使用?...在 Android 中,要在单个屏幕上显示多个 UI 视图,您可以使用 Fragments,它们就像可以在应用程序 Activity 内运行可重用组件。...屏幕大小(宽度/高度)和方向(纵向/横向)。...但是现在,如果您移动到特定屏幕然后在视图之间切换,您将丢失页面的上下文;也就是说,您将始终返回第一页,即 Chats。为了解决这个问题,我使用了多个回函数将所选页面返回到HomePage.

2.7K10

《移动互联网技术》第五章 界面开发: 掌握Activity基本概念,Activity堆栈管理和生命周期

处于暂停状态活动仍然是存活着,系统通常不会回收这种活动。 (3) 停止状态 当活动被压到返回栈下面,在屏幕上完全不可见,这个时候活动就处于停止状态。系统会保存活动状态和成员变量。...比如:如果想让 EditText 占据屏幕宽度 3/5,Button 占据屏幕宽度 2/5,只需要将 EditText layout_weight 改成 3,Button layout_weight...android:stretchColumns允许将TableLayout中某一列进行拉伸,以达到自动适应屏幕宽度作用。...这里将 android:stretchColumns 值指定为 1,表示如果表格不能完全占满屏幕宽度就将第二列进行拉伸。指定成 1 就是拉伸第二列,指定成 0 就是拉伸第一列。...在活动onCreate函数中,首先,创建DisplayMetrics对象,通过它来获取与屏幕相关信息。在创建双缓冲视图是,需要获取屏幕像素宽度和高度,它们单位是px(像素)。

9510

android学习笔记----ListView和各种适配器简介

所以 ArrayAdapter 知道如何将该数据传输或调整到列表项视图中,并在 ListView 中显示。...ArrayAdapter具有说明来告诉它自己如何创建列表项视图,并返回给ListView,当屏幕被占满后 ListView 将停止向ArrayAdapter 寻求更多列表项,列表项视图仅在需要时才创建...,当视图被滚动离开屏幕后,它们就会被添加到Scrap Pile,比如前两个列表项不再可见,它们将进入 Scrap Pile,然后当我们请求新列表项时,我们可以通过将这些视图再返回到 ArrayAdapter...比如,ListView 请求是位置 6 处项,并向 ArrayAdapter 传入可重复使用以前视图,ArrayAdapter 可以通过在回收视图里放入数据,使用回收视图,然后再接着比如通过调用...并且知道如何将每项呈现为视图,与此同时 ListView 负责在屏幕上显示这些视图,检测用户触摸手势,并跟踪用户是否位于整个列表中。

2.1K10

折叠屏丨华为专家深度解读折叠屏连续性和拖拽适配介绍

这主要是由于应用一些控件宽度是和应用窗口宽度动态计算出来,可以通过onConfigurationChanged将这部分逻辑代码重新执行一遍来解决问题。...随着屏幕越来越大,分屏、悬浮窗使用场景也随之增多,拖拽价值更加显著。 2.1 拖拽功能技术框架 拖拽属于Android框架一部分,可以让用户使用图形化拖放手势,将数据从一个视图移至另一个视图。...2)在哪里实现拖入拖出功能 拖拽是实现将数据从一个视图移至另一个视图。根据业务需要和用户体验选择合适视图实现。...华为技术专家建议大家可以采用远程真机、安卓模拟器以及屏幕规格模拟这三种方式进行测。 1)远程真机 远程真机是华为部署在云测平台真机,可以远程接入想机型,直观了解应用在真机上运行表现。...下载地址:https://developer.android.google.cn/studio/preview 3)屏幕 在非折叠屏手机上可以通过命令修改手机屏幕分辨率来进行模拟调试,详细方法可见下图

99620

为任意屏幕尺寸构建 Android 界面

Microsoft 最近为 SlidingPaneLayout 提供了一个支持铰链检测功能,让其自动能够支持跨屏幕拆分窗口,而无需更改任何代码。...所有的界面都是通过在代码中描述而成,这样也就很容易在运行时做出关于界面样式决策,而在传统视图系统中,我们通过对不同屏幕配置进行编译,从而实现对视图配置,这两者有着巨大不同。...△ 可折叠手机上布局转换 为了正确处理如何将列表和详情窗口折叠成单窗口层次结构,当在较小屏幕上时,我们需要知道用户最后与哪个窗口交互,为此,我们实现了一个简单自定义修饰符来记录最后一次交互,并以此决定...新 Compose 和大屏幕指南——构建自适应布局,希望能够对您开发有所帮助。 测试和维护 现在您已了解如何轻松更新应用,来构建可调整尺寸新界面。如何测试和维护项目也是一个非常重要课题。...当前,这一功能可在 Android 10 上使用,随着时间推移将支持更高 API 级别,以确保现有的屏幕截图测试能够继续与自动化测试设备配合运行。

4.1K20

创建支持多种屏幕尺寸Android应用

注* :从Android3.2(API等级为13)起,这些尺寸分组已被弃用,大家支持是一种新基于可用屏幕宽度管理屏幕尺寸技术。...Android系统通过以下两种方式帮助应用程序实现密度无关性: * 系统为当前屏幕密度调整dp单位到适当值 * 如有必要,系统会根据当前屏幕密度调整绘图资源到适当尺寸 在图2中,文本视图和位图绘图有规定尺寸像素...例如,一个layout_width为100dp视图在中等密度屏幕上是100像素,在高密度屏幕上系统将把它调整到150dp,于是视图屏幕上占用了大致相同物理空间。...例如,如果myView.getWidth()函数返回值是10,在当前屏幕视图有10个像素宽度,但是在更高密度屏幕设备上,返回值可能是15.如果在你应用程序代码中,使用像素值为位图单位,且该位图不是为当前屏幕密度预先调整...例如,可以使用Density来定义位图是为哪种密度设计,用Scaled去指定位图是否应该调整到匹配当前设备屏幕密度。

2.6K60

Facebook构建高性能Android视频组件实践之路

所有新闻提要中视频都是在自动播放管理器上注册,但并不是所有的视频都需要自动播放功能(例如,全屏视频播放器中视频)。...资源回收利用 Android内置RecyclerView可以基于视图类型将其保存在不同缓存池中,这对于创建了很多不同类型视图用户界面来说可能会是一个问题。...相比之下,Litho回收系统复用了更小用户界面构建模块,比如文本或图片,而不是整个视图。通过使用一个核心视频组件,同样视图可以被循环使用于所有的视频新闻类型。...更有效回收利用减少了对象分配,进而提高了滚动性能。 预分配 新闻提要第一个视频新闻不能循环使用预先存在视频视图,因为之前没有视图。...当两个视频新闻同时出现在屏幕上时也需要注意:一个视频视图可以从以前新闻中回收,但是第二个视图需要新建。

1.6K100

让你应用完美适配平板

老生常谈,屏幕适配首先来看下最直观屏幕适配吧,毕竟是直接展示给用户看嘛!今日头条方法其实说起适配大家首先想到大名鼎鼎今日头条屏幕适配方案,但是!凡事就怕但是!...今日头条适配方案原理在于通过公式 density = 设备真实宽度(单位px)/设计图总宽度(单位dp),在确保设计图总宽度(单位dp)一定时,通过修改 density 值,确保所有不同尺寸分辨率设备计算出真实宽度值正好是屏幕宽度...使用此回可防止在用户缓慢地按住或松开某个键时应用需要处理多个 onKeyDown 事件。...View.setOnContextClickListener { showContextMenu() true}注意:如果已使用 Activity.registerForContextMenu() 为上下文菜单注册所有视图都应自动支持轻触并按住和右键点击...这方面最常见两个示例如下:通过改变鼠标指针图标,向用户表明某个元素是否具有交互行为,如可点击或可修改当指针悬停在大型列表或网格中项目上时,向这些项目添加视觉反馈View.setOnHoverListener

1.8K50

详解Android中获取软键盘状态和软键盘高度

详解Android中获取软键盘状态和软键盘高度 应用场景 在Android应用中有时会需要获取软键盘状态(即软键盘是显示还是隐藏)和软键盘高度。这里列举了一些可能应用场景。...Android框架提供了一个ViewTreeObserver类,它是一个View视图观察者类。ViewTreeObserver类中定义了一系列公共接口(public interface)。...OnGlobalLayoutListener是ViewTreeObserver中定义众多接口中一个,它用来监听一个视图树中全局布局改变或者视图树中某个视图可视状态改变。...并不是只有显示和隐藏软键盘会触发OnGlobalLayoutListener中,一个View在绘制完成,或者消失时都会触发OnGlobalLayoutListener中(由于在onCreate...中无法获取一个View宽度和高度,很多时候就是通过注册OnGlobalLayoutListener,在OnGlobalLayoutListener中来获取一个View宽度和高度)。

2.7K20

Android项目的目录结构

上一次我们使用ADT创建了一个AndroidHelloWorld项目,并且介绍了模拟器以及模拟器配置,这节就重点讲讲Android项目的目录结构,看看和我们常见Java项目的目录结构有什么不同。...Android项目的目录结构 Android项目结构概览。其实Android项目的目录结构和Java差不多,没有太大变化,如下图: ?...Layout中放就是布局文件了,Android支持通过xml生成视图,这样视图就和逻辑控制代码分离了便于管理。...=“horizontal”就标识里面的子元素水平排列.. android:layout_width定义当前视图宽度,这里是fill_parent即为充满整个屏幕。...而设置成wrap_content会根据当前视图大小只能改变宽度 android:layout_height是定义视图高度,这里也是填充整个屏幕

46740

利用HorizontalScrollView实现滑动页面时缩放效果

这里主要实现是向右滑动时,左侧视图有逐渐放大,也会越来越清晰;向左滑动时,左侧视图逐渐减小,逐渐变模糊,且不移出屏幕左边缘效果。...com.nineoldandroids.view.ViewHelper; public class ReduceSideslip extends HorizontalScrollView { private int mScreenWidth; // 屏幕宽度...private int mMnuRightPadding = 300; private int mMenuWidth; // 视图宽度(左边视图) private int mHalfMenuWidth...// 左边视图 private ViewGroup mContent; // 右边视图 public ReduceSideslip(Context context, AttributeSet attrs...ViewHelper.setAlpha(mMenu, 0.6f + 0.4f * (1 - scale)); // (0.6, 1) // 往左滑动时,左边视图不用移除屏幕左边界(可以不要) ViewHelper.setTranslationX

1.4K10

Android中文API——ScrollView

(译者注: 如何监听android屏幕滑动停止事件) 参数 velocityY Y方向初始速率。正值表示手指/光标向屏幕下方滑动,而内容将向上滚动。...* 为使矩形区域全部可见,视图将可以被滚动显示 参数 child 发出请求视图 rectangle 子项目坐标系内矩形,即此子项目希望在屏幕定位 immediate 设为true... (Rect rect) 计算X方向滚动总合,以便在屏幕上显示子视图完整矩形(或者,若矩形宽度超过屏幕宽度,至少要填满第一个屏幕大小)。...参数 w     视图当前宽度 h     视图当前高度 oldw       视图改变前宽度 oldh       视图改变前高度   六、补充 文章精选 Android ApiDemos.../ScrollView2 添加自动滚动和智能焦点切换 [Android学习指南]使用ScrollView实现滚动效果 Android中ScrollView与ListView共用问题解决方案   示例代码

4.5K30
领券