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

Android图片资源

不同于代码文件的是,UI资源文件是和设备的显示器密切相关的。目前,Android设备的配置种类繁多——不同的屏幕尺寸,分辨率,以及用户使用时的不同的屏幕方向等。...2.5 Android对屏幕的分类 Android用两个属性size和density来对屏幕分类: 屏幕尺寸:small, normal, large, xlarge,xxlarge。...对于运行程序的设备,Android系统会根据其尺寸和屏幕像素来计算出它的像素密度分级。...为不同尺寸的屏幕提供不同特定的layout文件,对不同的像素米的屏幕提供不同的drawable资源。 3.多个备选图片资源的组织 以dp指定的宽高和位置数值,系统会自动缩放到合适的像素数值。...右、下边界可以分别指定1个线段(不能是多个)来确定背景的内容填充区——也就是View的内容可以填充的区域,类似padding地作用。如果不指定,那么系统以边长除去两边一像素的线段作为填充区域的线段。

1.2K100

【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )

、Flutter 中的程序配置 1、屏幕自适应配置 2、设置切换屏蔽宽高比不重启适配 3、设置最大最小屏幕比例 一、Android、Flutter 折叠屏适配 ---- 华为的 Mate X 折叠屏有...2480 \times 892 ; 二、展开大屏适配 ---- 屏幕展开后 , 处于屏幕宽高比 8:7.1 状态下 , 屏幕要完全填充整个屏幕 , 如下图的 A 的样式 ; B 中左右出现的黑边..., C 中上下出现黑边 , D 中四周出现黑边 , 都不能出现 ; 三、折叠主屏适配 ---- 折叠主屏 就按照 全面屏的样式进行适配 ; 折叠状态下 , 主屏要填充满整个屏幕 , 如 A 样式 ;..., 仍然保持 19.5 : 9 的屏幕适配即可 , 如下图的 A ; 折叠状态下的副屏 , 不能完全填充 , 以及以其它宽高比填充 , 只能以 19.5 : 9 的比例填充 ; 下图中 , 只有...这种布局比较难看 , 适合初期发布应用时进行这种适配 ; 六、X 轴自适应适配 ---- 主屏 , 副屏 , 大屏 三种状态 , Y 轴实际上是没有变化的 , 高度基本不变 , 大屏 相对于 主屏 和

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

    【Android开发学习笔记之一】5大布局方式详解

    属性值有垂直(vertical)和水平(horizontal)两种。...例如,在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1, 24 那么这两个按钮都会被拉伸到整个屏幕宽度的一半...帧布局 帧布局是从屏幕的左上角(0,0)坐标开始布局,多个组件层叠排列,第一个添加的组件放到最底层,最后添加到框架中的视图显示在最上面。上一层的会覆盖下一层的控件。 简单的例子 ①效果图: ?...表格布局常用的属性如下: android:collapseColumns:隐藏指定的列 android:shrinkColumns:收缩指定的列以适合屏幕,不会挤出屏幕 android:stretchColumns...:尽量把指定的列填充空白部分 android:layout_column:控件放在指定的列 android:layout_span:该控件所跨越的列数 简单的例子: ①效果图: ?

    79880

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

    在使用Flutter构建响应式布局之前,我想说明一下Android和iOS是如何处理不同屏幕大小的布局的。 1....Android的方法 为了处理不同的屏幕尺寸和像素密度,在Android中使用了以下概念: 1.1 ConstraintLayout Android UI设计中引入的一个革命性的东西是ConstraintLayout...在Android中,你可以为不同的屏幕大小定义不同的布局文件,Android框架会根据设备的屏幕大小自动处理这些布局之间的切换。...1.4 Vector graphics Vector graphics使用XML创建图像来定义路径和颜色,而不是使用像素位图。它可以缩放到任何大小。...,第一个例子,expanded虽然有填充空余空间的功能,不过expanded组件和flexible组件的flex都是1,相当于将纵轴分成两半,expanded所拥有的全部空间就是纵轴的一半,实际他已经填充了

    2.3K00

    Unity环境下RTMP推流+RTMP播放低延迟解决方案

    在本文之前,我们发布了Unity环境下的RTMP推流(Windows平台+Android平台)和RTMP|RTSP拉流(Windows平台+Android平台+iOS平台)低延迟的解决方案,今天做个整体汇总...屏幕分辨率发生变化,可实时适配; 3. Unity和原生SDK之间通信,比如event回调等; 4. 屏幕数据如有水平或垂直翻转,需要有一定的矫正。...相关博客: Windows平台实现Unity下窗体|摄像头|屏幕采集推送 https://cloud.tencent.com/developer/article/1833835 Android平台实现Unity3D...Unity3D创建相应的RGB/YUV420等Shader; 3.Unity3D从各个平台获取图像数据来填充纹理即可; 需要注意的有几点: 1....Unity和原生SDK之间通信,比如event回调等; 5. 长时间运行稳定性。

    3.7K10

    Android OpenGL ES开发初探

    二、OpenGL ES的基本使用和一些概念 1. 版本 OpenGL ES 有几个版本,对于Android系统API,会有不同的要求。...屏幕坐标系 众所周知,Android屏幕坐标系是以左上角为原点,横为x轴,竖为y轴。 [屏幕坐标系] 2....顶点坐标系 和屏幕坐标系不太一样,OpenGL的顶点坐标是以中心为原点,横为x轴,竖为y轴,垂直于屏幕为z轴。轴的值范围都在-1, 1这个区间内。据说是做归一化处理,显卡计算起来会比较方便喔。...基本上都是写OpenGL和这个两个shader打交道,通过shader去告诉OpenGL ES库,你想画在哪、填充什么颜色等等。...三、总结 OpenGL就是一个画图用的库; 在Android上,OpenGL呈现的载体是GLSurfaceView; 使用shader语言去告诉OpenGL你要干嘛(画在什么位置和填充什么颜色或者纹理)

    1.1K90

    全民K歌折叠屏适配探索

    填充适配模式 开始之前,我们先了解一下 “什么是填充适配模式?” 在该模式下,应用所处屏幕发生改变时,总能以相对合理的方式重新调整布局,以便能给予用户更好的视觉体验。...触发时机问题 首先,我们的触发计算高宽的时机一般有2个: 详情页数据拉取完成时进行一次计算(预先布局) 视频启播后根据视频的真实比例再进行一次计算 在之前,我们有说到屏幕出现素质改变时,其会触发View...将计算逻辑内嵌到View内部测量回调中;实际并不可取,原因和第一点一致。 收到界面变化通知时,触发重新计算逻辑。...填充适配模式(K歌采取的方案) 多窗口模式 应用内分屏模式 兼容模式 多窗口模式 Android 7.0 新增了对同时显示多个应用窗口的支持。...这样的适配基本合理,但也并不完美,最大的问题是当屏幕展开时,当前应用会自动缩放到一半大小,另一半可以选择一个新的应用打开;这无异于将用户的注意力分散开了,可能会导致自身应用的用户使用时长下降。

    2.5K30

    【Android应用开发】EasyDialog 源码解析

    实现原理 实现原理 :  -- EasyDialog 效果 : 在点击后, 会从屏幕外飞入对话框, 飞入恰好能够正好处于特定 View 组件的上方 或者下方; -- 本质 : 点击按钮弹出的对话框会填充整个屏幕...坐标计算时机 坐标计算 : 计算坐标时需要获取组件的宽 和 高, 下面的代码中可以获取宽高, 获取到宽高后, 其坐标自然就计算好了; -- 获取屏幕宽高代码 : 在其中的 onGlobalLayout...屏幕填充设置 设置是否填充屏幕 :  /** * 设置是否填充屏幕,如果不填充就适应布局内容的宽度,显示内容的位置会尽量随着三角形的位置居中 */ public EasyDialog setMatchParent...ViewGroup.LayoutParams.WRAP_CONTENT; llContent.setLayoutParams(layoutParams); return this; } -- 填充屏幕样式...: 可以看到 填充全屏, 左右只留下了 margin; -- 不填充屏幕样式 : 不会横向充满屏幕; 二.

    1.1K20

    仿uc下部弹出菜单

    发现没,UC的菜单箭头绝对是对准所点击按钮的,有人可能觉得用不同的图片就行了,对于一种机型可以这么做,android机型千千万,你要怎么配型,这是个很大的工作量,吃力不讨好啊。...为啥要把按钮4等份,把其中的2份给图1和图3呢,这是为了防止按钮居左或居右时,解决图1和图3的宽度为NULL情况。...                //中这个方法顾名思义,就是设置边界,                 //用到的是.9图,所以拉伸图片不会失真,把drawable设置一个left、top点开始拉一个...前面图片里写成其他部分填充白色,这是错误的,是以透明像素来填充的,误导大家了啊,见谅哈,我已修改 有上面的方法,在技术可行性方面就不是问题了。...,也就是getLeft方法得到的数值,parentWidth就是按钮本身的宽度了,screenwidth 是屏幕宽度,popupWindowHeight为popupWindow的高度,具体你们看图和源码

    1.5K80

    SAP最佳业务实践:生产订单拆分-工具生产(236)-2生产订单

    在 生产订单创建:抬头屏幕上,输入数量(如 2),并选择 回车 确认您的输入。系统按生产订单类型YDP1展开工艺路线和物料单,并执行计划。同时检查物料可用性,确认任何消息。 ?...MF60为零件生产备料 此活动将生产订单需要的物料从各个存储地点放到生产存储地点。 所需物料存放在供应存储地点的可用库存中。...此活动将生产订单需要的物料从各个存储地点(如商店 (1050))放到生产存储地点车间 (1020)。 在 输入其它收货: 新项目 屏幕上,输入必需的物料和数量。保存输入。...角色车间主任 后勤®生产®车间现场控制®货物移动®物料分段运输®拉料单 1. 在按计划订单备料屏幕上,选择 库存地点级别(设置标识)。 2. 在 按计划订单备料 屏幕上,输入您的工厂。 3....应该和采购订单使用相同的存储地点。通过库存确定自动填充此字段。 在屏幕底部,选择 全选。 选择 阶段。 ? 选择 保存。 系统将物料(物料凭证)从组件存储地点转移到生产存储地点。

    3.1K40

    Android 8.0 “奥利奥”正式发布

    Android 8.0正式发布 Google 如约在今日正式发布了Android O正式版,中文名安卓8.0,代号奥利奥(Oreo); 随我来看看有哪些有意思的新东西: 系统自动填充框架 不管是在手机上注册账号...当然,如果不想使用 Google 提供的密码保存服务,我们可以在「系统->语言和输入法->输入帮助」自由选择想要使用的自动填充服务。 ?...如果你订阅了 YouTube Red 并开启了「后台播放功能」,系统就能在你把 YouTube 放到后台的同时将视频内容以悬浮窗的形式继续播放; 当你在 Chrome 中查看网页视频时,也可以将某个标签中的视频...取消屏幕纵横比限制 以 Android 7.1(API 级别 25)或更低版本为目标平台开发的应用默认最大屏幕纵横比为 1.86,但这也导致这些应用在一些新近机型(比如 Galaxy S8/S8+)上显示效果不佳...而面向 Android 8.0 或更高版本系统所开发的应用将不要求设定最大纵横比,保证应用能够最大限度地兼容屏幕比例各异的 Android 机型。

    1.5K40

    安卓Chrome使用技巧合辑

    初次成文   20170424 大幅修正:删除了失效的实验室特性,并增加了Chrome Canary专用特性   20170514 增加了"姊妹篇(GIF Version)" 写在前面:   Android...按住Chrome右上角的键即可弹出菜单,按住屏幕不放,用手指在菜单项目上下滑动即可快速选中各菜单项,将你的手指停放到你想进入的菜单项上并松开可以进入此菜单项。...双击屏幕,在第二次点击屏幕时按住屏幕不放,以双击屏幕的位置定为原点,把手指向三象限或者四象限方向滑动,即可以原点为中心,快速放大页面,如果想要缩小页面,只需要双击屏幕,在第二次点击屏幕时把手指向一象限或者二象限方向滑动...快捷自动填充底栏:   chrome://flags/#enable-autofill-keyboard-accessory-view   启用此特性后,当光标定位在输入框内,并且此输入框有待填充内容时...,将在屏幕底部显示一个快速填充底栏,点击底栏中的快速填充项可以快速将此项填充到输入框。

    9.6K30

    Android 15新特性,强制edge-to-edge全面屏体验

    其实简单来讲,就是让App的界面延伸到手机屏幕的全部空间,这样可以带来更加沉浸式的用户体验。 事实上,绝大多数的App都没有将界面延伸到手机屏幕的全部空间,因此它们本可以提供更好的用户体验。...绝大部分的App其实都只使用了绿色这部分的空间,屏幕上方的状态栏以及屏幕下方的导航栏这两个白色部分的空间都是没有利用起来的,想想你写的App是不是也是这样?...像刚才的照片墙界面,由于它非常适合填充满手机屏幕的全部空间,即使我们不做任何的适配,用户体验仍然是非常好的。 但是换一个其他的界面就未必如此了。...聊天内容进入了状态栏区域,导致部分文字内容和状态栏重叠不易阅读,输入框和发送按钮则进入了导航栏区域,导致输入框和按钮操作可能会受到影响。...另外从Android 10开始,Google引入了手势导航,这使得手机屏幕的左右两侧可以用于触发Back键操作,手机屏幕的底部可以用于触发Home键操作,触发区域如下图中的黄色部分所示。

    61310

    【译】Activity分割动画如何使用我的动画##

    提示:这种实现方式需要保存整个屏幕的内容为bitmap(译者注:源码中,作者只是保存了android.R.id.content下的内容作为bitmap,并非整个screen)。...但是我发现,最简单的实现方式,就是将他们以成员变量的形式放到一个公共区域中。所以,我创建了一个静态类用来持有子bitmap,所有的创建操作和动画逻辑,也都在这里个类里面,稍后会详细介绍。...这样做不仅可以保证Imageview能够处在即将被填充的布局之上,而且还可以灵活控制每一个Imageview在屏幕上的位置。...子bitmap动画## 在Activity B中创建完Imageview并且摆放好位置后,调用setContentView( )填充Layout布局。...当布局填充完毕后,执行动画,把两个bitmap向外推出,从而呈现Activity布局。

    1.4K20

    SDL的几个宽高概念讲解(文中有福利)

    我们一个个来看下: SDLSurfaceView android上层布局使用的View,和TextView ,Button一致,都属于View级别,这个View的大小,就是我们实际屏幕看到的大小,宽高,...因此对应的设置窗口的大小方法,在android上面不起作用,这个需要注意啦。 也就是SDL_SetWindowSize方法是不能用的。...如此设置之后,我们的开发就只需要围绕480×800去展开,不需关注具体屏幕的大小,render会正确的缩放到实际尺寸,具体我们要做的是: 如果我们要在480×800的尺寸下开发游戏,我们这样子操作 SDL_GetRendererOutputSize...剩余部分不填充。...surface复制过来,也就是也是200×400,如果这时textrue在贴到render上面的时候,没有指定区域,那么就是将整个的texture投影到render的整个区域,这里就是将200×400缩放到

    2K80

    Android 9.0系统新特性,对刘海屏设备进行适配

    当然,一是因为我这段时间确实比较忙,今年几乎绝大部分的业余时间都放到写新书上了。但是最主要的原因并不是这个,而是因为刘海屏设备的适配存在一定的特殊性。 我先来带着大家回顾一下手机屏幕的发展历史。...和小米MIX的做法不同,iPhone X采用了将屏幕切出一个凹口的方式来放置前置摄像头以及其他传感器硬件,因此形成了一种非标准矩形屏幕。由于切出的凹口很像人的刘海,又被大家戏称为刘海屏。 ?...不过,iPhone手机刘海的位置和大小都是固定的,至少目前来说是固定的,而Android手机的刘海却可能以不同的形式出现在不同的位置,因此不要想着可以用硬编码的方式来简单进行适配。...这种属性允许应用程序的内容在竖屏模式下自动延伸到刘海区域,而在横屏模式下则不会延伸到刘海区域。...可以看到,程序进入了全屏沉浸式体验的效果,并且我们在布局文件中设置的背景图是可以延伸到刘海区域的,这就使得手机屏幕的空间得到了更充分的利用。 现在旋转一下手机屏幕,效果如下图所示: ?

    90010

    使用播放器播放视频有黑边

    这样的情况拉流端SDK一般是处理不了的 2.推流端推的画面无黑边,拉流端播放时有黑边。...这是因为拉流端显示屏的长宽比与画面的长宽比不一致所导致,如果需要完整的显示画面,那肯定会有多出来的部分(这部分会以黑色填充,具体表现就是黑边),否则画面就会被拉伸、变形。...其中 RENDER_MODE_FILL_SCREEN 为等比例铺满整个屏幕,RENDER_MODE_ADJUST_RESOLUTION 为等比例缩放以显示全部画面。...方案原理 对于第二种情况,如果选择 RENDER_MODE_FILL_SCREEN,SDK 会以完全铺满整个屏幕为原则等比例缩放图片,超出部分会被裁剪掉;如果选择 RENDER_MODE_ADJUST_RESOLUTION...,SDK 会以完全显示图片为原则等比例缩放图片,然后居中显示图片,没有画面的部分会以黑色进行填充。

    2.9K30
    领券