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

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

Android涉及各种各样支持不同屏幕尺寸和密度设备。对于应用程序,Android系统通过设备和句柄提供了统一开发环境,大部分工作是校正每一个应用程序用户界面到它显示。...例如,一个240dpi屏幕,1 dp等于1.5个物理像素。定义应用程序UI时,你应该总是使用dp单位,以确保不同密度屏幕正确地显示UI。...声明支持不同屏幕尺寸也会影响系统如何在较大屏幕运行应用程序,尤其是,不论应用程序是否运行在屏幕兼容模式。 为了申明应用程序支持屏幕大小,应该在manifest文件中包含元素。...虽然这两个设备尺寸看上去很接近,但是应用程序UI空间是显著不同,用户交互风格也是如此。因此,一个7寸和5寸不应该总是使用同一个布局。...例如,一个layout_width为100dp视图中等密度屏幕是100像素,高密度屏幕系统将把它调整到150dp,于是视图屏幕用了大致相同物理空间。

2.6K60

Android中一张图片占据内存大小是如何计算提问正文推荐阅读

Q2:为什么有时候,同一个 app,app 内同个界面,界面上同张图片,但在不同设备所耗内存却不一样? Q3:图片占用内存大小公式:图片分辨率 * 每个像素点大小,这种说法正确,或者严谨?...app,但跑不同 dpi 设备,同样界面,但所耗内存有可能是不一样。...那么,为什么在上个小节中,要特别说明,即使同一个 app,但跑不同 dpi 设备,同样界面,但所耗内存有可能是不一样。这里为什么要特别用有可能这个词呢? 是吧,大伙想想。...这也就是在上面讲为什么当你使用了开源图片库后,就不能再按照图片内存大小一节中所讲理论来计算图片占据内存大小原因。...基于以上理论,以下场景出现是合理: 同个 app,不同 dpi 设备中,同个界面的相同图片所占内存大小有可能不一样

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

Android官方提供支持不同屏幕大小全部方法

本文将告诉你如何让你应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你布局能充分自适应屏幕 根据屏幕配置来加载合适UI布局 确保正确布局应用在正确设备屏幕 提供可以根据屏幕大小自动伸缩图片...下图展示了这个布局一个更大屏幕显示结果。 ? 可以注意到,即使屏幕大小改变,视图之前相对位置都没有改变。...现在有很多应用程序为了支持大屏设备,都会实现“two pane”模式(程序会在左侧面板展示一个包含子项List,右侧面板展示内容)。...很多应用程序都希望能够更自由地为不同屏幕设备加载不同布局,不管它们是不是被系统认定为"large"。这就是Android为什么3.2以后引入了"Smallest-width"限定符。...例如,7寸平板最小宽度是600dp,所以如果你想让你UI在这种屏幕显示two pane,更小屏幕显示single pane,你可以使用sw600dp来表示你想在600dp以上宽度屏幕使用

1.5K10

Android官方提供屏幕适配全部方法

和 "match_parent"  为了确保你布局能够自适应各种不同屏幕大小,你应该在布局视图中使用"wrap_content"和"match_parent"来确定它宽和高。...下图展示了这个布局一个更大屏幕显示结果。 可以注意到,即使屏幕大小改变,视图之前相对位置都没有改变。...现在有很多应用程序为了支持大屏设备,都会实现“two pane”模式(程序会在左侧面板展示一个包含子项List,右侧面板展示内容)。...很多应用程序都希望能够更自由地为不同屏幕设备加载不同布局,不管它们是不是被系统认定为"large"。这就是Android为什么3.2以后引入了"Smallest-width"限定符。...例如,7寸平板最小宽度是600dp,所以如果你想让你UI在这种屏幕显示two pane,更小屏幕显示single pane,你可以使用sw600dp来表示你想在600dp以上宽度屏幕使用

85730

React Native基础&入门教程:初步使用Flexbox布局

图1.相同尺寸设备 不同分辨率 图上每一个小格子,其实就代表了一个像素(pixel)。可以看到,一个像素点大小,在这个三个物理尺寸一样但拥有不同分辨率设备,是不一样。...如果我们以像素为单位来设置一个界面元素大小,比如说2px高度,那么这2px长度上面的设备中就会是下面这个样子: ? 图2.不同分辨率下2px实际高度 它们真实显示长度是不一样。...举例来说,2dp宽,2dp内容,不同分辨率但屏幕尺寸一样设备显示物理大小是一样。(一个题外话:有些Android开发者建议所有可点击按钮,宽高都不应该少于48dp。) ?...图3. 2dp * 2dp大小内容 同样尺寸屏幕中所占据物理大小一致 Android中字体大小使用另外一个单位,叫做scale independent pixels,简称sp。...只需要知道我们之所以要使用一个独立于设备分辨率单位,主要是为了让应用在不同分辨率设备中,看起来一致。 RN中,同样也拥有一个类似于dp长度单位。

1.9K50

屏幕分辨率dpi计算_hypodensity

因为我们色块是 326*326px 大小,而这台 163PPI 假 iPhone 7 每英寸上面只有 163 颗像素,为了要展示 326*326px 色块,它就要多用 1 英寸屏幕,所以这个色块屏幕上面看起来就...定义应用程序UI时,应该始终使用dp单元,以确保具有不同密度屏幕正确显示UI。   就是说160dpi屏幕,1dip=1px。   ...它跟屏幕密度有关,如果屏幕密度大,1dip代表px就多,比如在320dpi屏幕,1dip=2px。 为什么我们布局时候最好要用dip,不要用px?  ...比如下面图中两个手机,同时设置2px长度Button,屏幕密度较高手机里就会显示比较小。   而同时设置2dip长度Button,两个手机上显示大小是一样。...图 5   所以如果你App布局中都用px作为单位,那么你App跑各个设备就会出现奇奇怪怪现象了。

3.5K20

根据 OS 设计你应用

根据 google’s definition,dp 是一种灵活像素单位,它可以自动按比例显示在任意屏幕。...设计 Android 应用时候,设计师们可以通过使用 dp 不同像素密度屏幕显示同样比例元素。...首先, Android ,一个关键点是密度无关像素(常被缩写为 DIP 或 DP引入,而 iOS 只是使用点作为他们单位。 这两种类型都能保证你设计不同密度大小设备能正常使用。...这就是为什么结合品牌效应和平台适应性混合方法看起来是最佳选择。显而易见,Facebook 使用了混合方法。...从图 3.6 中看,Spotify 对生日和性别信息文本框设计两个平台上是不一样 iOS 使用了传统下拉菜单设计,而在 Android 是一个弹出菜单。

1.3K110

Android开发 屏幕适配之像素密度适配

大家好,又见面了,是你们朋友全栈君。 由于市场上采用Android系统设备种类繁多,迫使Andriod开发人员不得不做烦人适配工作。...适配工作包括对安装不同Android版本设备进行适配,对不同屏幕设备进行适配等。...,对于宽度为160 dpbutton,160dpi设备占160px, 320dpi设备占160*2=320px,这样不同设备看起来相对大小一样,就不会发生button“变小”情况。...新建Android工程中默认机器人图标,不同密度目录下大小不一样,其比例和表格比例一致,我们准备资源图片时也要按该比例进行。 后面一行“倍数”和比例相对应,关于它作用后面会说明。...将不同目录图片大小换一下,比如hdpi下图片大小换成72×72,根据结论得出最后计算图片宽度为 72 * (320/160) / 1.5 = 96 px ,这样ImageView看起来就不会变小了。

1.3K10

Android适配全面总结(一)----屏幕适配

屏幕尺寸、分辨率、像素密度之间换算图 (5)密度无关像素(dp 或 dip) 单位:dp,可以保证不同屏幕像素密度设备显示相同效果 Android开发设置布局和控件宽高,用dp而不是px...下面给一个实例说明,让你更能明白这几个单位: 看下图你可以知道:为什么使用了dp作为单位,两个手机分辨率也是一样,可是按钮显示宽度还是不一样? ?...图片资源适配 使得图片资源不同屏幕密度上显示相同像素效果。   实际开发中一个按钮背景图片必须能够随着按钮大小改变而改变。...dp解决了同一数值 不同分辨率 中展示 相同尺寸大小 问题(即屏幕像素密度匹配问题),但却没有解决设备 尺寸大小匹配 问题。(即屏幕尺寸匹配问题)。...因为本质是希望使得布局组件不同屏幕密度上显示相同像素效果,那么,之前是绕了个弯使用dp解决这个问题,那么到底能不能直接用px解决呢?当然是可以。根据不同屏幕密度,控件选择对应像素值大小

1.8K40

Carson带你学Android:最全面、最易懂屏幕适配解决方案

单位:dp,可以保证不同屏幕像素密度设备显示相同效果 Android开发时用dp而不是px单位设置图片大小,是Android特有的单位 场景:假如同样都是画一条长度是屏幕一半线,如果使用px作为计量单位...答: “布局控件”匹配 本质:使得布局组件不同屏幕密度上显示相同像素效果 做法1:使用密度无关像素 由于各种屏幕像素密度都有所不同,因此相同数量像素不同设备实际大小也有所差异,这样使用像素...单位:dp,可以保证不同屏幕像素密度设备显示相同效果 Android开发时用dp而不是px单位设置图片大小,是Android特有的单位 场景:假如同样都是画一条长度是屏幕一半线,如果使用px作为计量单位...长度 再次明确,屏幕宽度和像素密度没有任何关联关系 所以说,dp解决了同一数值不同分辨率中展示相同尺寸大小问题(即屏幕像素密度匹配问题),但却没有解决设备尺寸大小匹配问题。...从上面可以看出: 因为屏幕密度(分辨率)不一样,所以不能用固定px 因为屏幕宽度不一样,所以要小心dp 因为本质是希望使得布局组件不同屏幕密度上显示相同像素效果,那么,之前是绕了个弯使用dp

1.3K10

Android开发:最全面、最易懂Android屏幕适配解决方案

单位:dp,可以保证不同屏幕像素密度设备显示相同效果 Android开发时用dp而不是px单位设置图片大小,是Android特有的单位 场景:假如同样都是画一条长度是屏幕一半线,如果使用...“布局控件”匹配 本质:使得布局组件不同屏幕密度上显示相同像素效果 做法1:使用密度无关像素 由于各种屏幕像素密度都有所不同,因此相同数量像素不同设备实际大小也有所差异,这样使用像素(px...- 单位:dp,可以保证不同屏幕像素密度设备显示相同效果 Android开发时用dp而不是px单位设置图片大小,是Android特有的单位 场景:假如同样都是画一条长度是屏幕一半线,如果使用...,屏幕宽度和像素密度没有任何关联关系 所以说,dp解决了同一数值不同分辨率中展示相同尺寸大小问题(即屏幕像素密度匹配问题),但却没有解决设备尺寸大小匹配问题。...从上面可以看出: 因为屏幕密度(分辨率)不一样,所以不能用固定px 因为屏幕宽度不一样,所以要小心dp 因为本质是希望使得布局组件不同屏幕密度上显示相同像素效果,那么,之前是绕了个弯使用dp

2.6K70

AndroidAutoSize开源库屏幕适配分析

(Star: 4329); 通过修改Application/Activity等DisplayMetrics中核心数据,使得不同分辨率手机上对应dp相等而达到每个显示View占用屏幕比例相同。.../160) = 360 dp 可以看到屏幕dp 宽度不同设备是会变化,但是我们布局中填写 dp 值却是固定不变,这就导致我们设置固定宽度不同设备显示比例不一样。...这时我们要想完美适配,那就必须保证这个 View 在任何分辨率屏幕,与屏幕比例都是相同。 要做到在任何分辨率屏幕显示比例相同,我们该怎么做呢?...方案一: 动态改变每个Viewdp值 由于每种设备宽度dp值是不同,为使得View能够不同设备显示比例一致,可以通过代码计算动态设置每个Viewdp值,这种方式显然是不合适,工作量太大...计算出结果(上面模拟器参数是特意设置,为了很明显演示所需) , 因此大多数设备对View宽/高设以dp为单位进行设置值,差别并不是十分大,当然这只是大多数设备,因此要适配每种设备还是很难做到

3.6K41

一文彻底搞清楚 Material Design

动态海拔高度偏移:指的是从静止状态向目标海拔移动距离(translationZ) 组件海拔高度: 同一组件不同应用中,海拔高度是相同,比如:不同应用中浮动操作按钮海拔是相同 同一组件不同平台和设备中...轮廓 默认情况下,所有的view都是矩形,虽然可以给view设置背景圆形图片,即可以界面显示出圆形内容,但是view大小实际依然是矩形,并且设置图片实际也是矩形,只是圆形以外区域是透明色...如果根据view大小来生成对应阴影,就会出现很奇怪效果,(一个看起来圆形view展示出的确实一个矩形阴影)为了解决这个问题,view增加了一个新描述来指明内容显示形状,这就是轮廓。...阴影产生是不同海拔高度材料相互叠加产生 Material Design 中,虚拟光线照射使物质材料出现阴影,这里光有两种光,一种是关键灯,一种是环境灯。...Web,仅通过操纵y轴即可描绘阴影。以下示例显示了海拔为6dp的卡片。 阴影条件 阴影由轮廓和海拔共同决定。 海拔决定了阴影大小,轮廓决定了阴影形状。

2.1K10

关于移动端适配,你必须要知道

解决这些问题过程中,我们往往会遇到非常多概念:像素、分辨率、 PPI、 DPI、 DP、 DIP、 DPR、视口等等,你真的能分清这些概念意义?...理论上来讲,白色手机上相同大小图片和文字,黑色手机上会被缩放一倍,因为它分辨率提高了一倍。这样,岂不是后面出现更高分辨率手机,页面元素会变得越来越小? ?...我们必须用一种单位来同时告诉不同分辨率手机,它们界面上显示元素大小是多少,这个单位就是设备独立像素( DeviceIndependentPixels)简称 DIP或 DP。...而在设备像素比大于 1屏幕,我们写 1px实际是被多个物理像素渲染,这就会出现 1px在有些屏幕看起来很粗现象。...六、移动端适配方案 尽管我们可以使用设备独立像素来保证各个设备不同手机上显示效果类似,但这并不能保证它们显示完全一致,我们需要一种方案来让设计稿得到更完美的适配。

2K10

关于移动端适配,你必须要知道

解决这些问题过程中,我们往往会遇到非常多概念:像素、分辨率、 PPI、 DPI、 DP、 DIP、 DPR、视口等等,你真的能分清这些概念意义?...理论上来讲,白色手机上相同大小图片和文字,黑色手机上会被缩放一倍,因为它分辨率提高了一倍。这样,岂不是后面出现更高分辨率手机,页面元素会变得越来越小? ?...我们必须用一种单位来同时告诉不同分辨率手机,它们界面上显示元素大小是多少,这个单位就是设备独立像素( DeviceIndependentPixels)简称 DIP或 DP。...而在设备像素比大于 1屏幕,我们写 1px实际是被多个物理像素渲染,这就会出现 1px在有些屏幕看起来很粗现象。...六、移动端适配方案 尽管我们可以使用设备独立像素来保证各个设备不同手机上显示效果类似,但这并不能保证它们显示完全一致,我们需要一种方案来让设计稿得到更完美的适配。

1.9K41

关于移动端适配,你必须要知道

解决这些问题过程中,我们往往会遇到非常多概念:像素、分辨率、 PPI、 DPI、 DP、 DIP、 DPR、视口等等,你真的能分清这些概念意义?...理论上来讲,白色手机上相同大小图片和文字,黑色手机上会被缩放一倍,因为它分辨率提高了一倍。这样,岂不是后面出现更高分辨率手机,页面元素会变得越来越小? ?...我们必须用一种单位来同时告诉不同分辨率手机,它们界面上显示元素大小是多少,这个单位就是设备独立像素( DeviceIndependentPixels)简称 DIP或 DP。...而在设备像素比大于 1屏幕,我们写 1px实际是被多个物理像素渲染,这就会出现 1px在有些屏幕看起来很粗现象。...六、移动端适配方案 尽管我们可以使用设备独立像素来保证各个设备不同手机上显示效果类似,但这并不能保证它们显示完全一致,我们需要一种方案来让设计稿得到更完美的适配。

1.9K20

Android技术选型闲聊

使用Tinker有几点需要注意: TinkerId非常重要,最好在App内某个地方显示出来; Manifest.xml最好不要去改动,虽然某些改动生成补丁包可以合成,但不是在所有设备都能成功; Tinker...文字适配 挑一台最具代表性大众设备,以sp为单位适配好它就好。相同sp不同设备,其物理大小不一样。...Google这样设计好处是手机App可以直接适配电视。(想要验证上方论述很简单:xml中画一个200dp*200dp黑框,然后用不同设备预览)。...如果真的是强迫每个设备显示物理大小需要一致,那么直接用inch就行(少部分鸡贼厂商是没有给出准确inch),也别用什么dp了(搬倒砖)。...编译版本的话,新项目可以上Android X,已经用了半年了,没啥问题。 尾巴 惯例,留个尾巴。聊得比较休闲,没打草稿,更多是一些个人偏好,如有技术错误,还请指正。

1.2K30

移动应用界面设计尺寸规范「建议收藏」

像素(PX) 代表屏幕上一个物理像素点代表屏幕上一个物理像素点。 屏幕密度 为解决Android设备碎片化,引入一个概念DP,也就是密度。指在一定尺寸物理屏幕显示像素数量,通常指分辨率。...尽管概念不同,但是对于移动设备显示屏,可以看作ppi=dpi 。...简单理解的话,px(像素)是我们UI设计师PS里使用,同时也是手机屏幕显示dp是开发写layout时候使用尺寸单位。 为什么要把sp和dp代替px?...原因是他们不会因为ppi变化而变化,相同物理尺寸和不同ppi下,他们呈现高度大小相同。也就是说更接近物理呈现,而px则不行。...手机上看来同一大小字磅值是一样,但是换算成不同分辨率手机字号px值不一样

4K20

Android开发笔记(一)像素单位

android支持如下像素单位:px(像素)、in(英寸)、mm(毫米)、pt(磅,1/72英寸)、dp(与设备无关显示单位)、dip(就是dp)、sp(用于设置字体大小),其中常用就是px、dp和...个人理解,px是android屏幕显示最小单位,这个与物理设备显示屏有关系,一般来说,同样尺寸屏幕(比如说都是4.7寸手机),看起来越清晰屏幕,其像素密度越高,以px计量分辨率就越大。...至于sp,其原理跟dp差不多,那为什么说sp专门用于设置字体大小呢?...android手机系统设置里面可以设置字体大小(小、普通、大、超大),设置普通字体时,同数值dp和sp文字看起来是一样大,但如果设置为大字体,用dp设置大小文字没有变化,而用sp设置大小文字就变大了...dp和px使用场景 xml布局文件中,因为设备无关性,所以除了sp用于设置文字大小外,其余要用大小地方都是写dp。但在代码之中,情况又不同,android用于设置大小函数都是以px为单位。

95530

Material Design —悬浮响应式按钮(Buttons: Floating Action Button)

当屏幕宽度为460dp或更小时,按钮大小应该从默认(56dp)变为最小尺寸(40dp)。 ?...---- 行为(此部分见原网站) 默认情况下,悬浮响应式按钮屏幕以动画形式展开。 其中icon可能是动态。 由于其相对而言重要性,悬浮响应式按钮移动方式可能与其他UI元素不同。 ?...如果按钮各个屏幕动作保持不变(如有必要,则转换为新位置),该按钮应保持屏幕。 列表 悬浮响应式按钮下面的列表应该在它们下面有足够空间,以便它们内容不被按钮挡住。...带标签屏幕 带标签屏幕,悬浮响应式按钮不应以与内容相同方向退出屏幕。...该列表不应包含无关操作。 ? 变形 浮动操作按钮可以转换为属于应用程序结构一部分材料。 这种戏剧性变化突出了按钮所能实现动作。 悬浮响应式按钮变形时,以有逻辑方式开始和结束位置之间转换。

5.7K90
领券