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

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

计算公式: 屏幕分辨率 = 横向像素*纵向像素(或者 宽x高), 1080*1920 单位: 单位是px,1px=1个像素点。...根据屏幕方向进行布局调整。   某些布局会同时支持横向模式纵向模式,但我们可以通过调整优化其中大部分布局效果。...每种屏幕尺寸和屏幕方向下布局行为方式如下所示: 小屏幕,纵向:单面板,带徽标 小屏幕,横向:单面板,带徽标 7 英寸平板电脑,纵向:单面板,带操作栏 7 英寸平板电脑,横向:双面板,宽,带操作栏 10...例如,在运行 Android 3.0 或更高版本标准 7 英寸平板电脑上,如果新闻阅读器示例应用运行在纵向模式下,就会在使用独立Activity 显示新闻报道;但如果该应用运行在横向模式下,就会使用双面板布局...图片资源适配 缺点: 1. 每套分辨率一套图,为美工或者设计增加了许多工作量 2.

1.8K40

UI设计模式,面试交互设计师,估计没问题

---- 01.主体/细节(Master/Detail)模式 ? 主体/细节模式可以分为横向纵向两种。如果想让用户在同一页面下,引导他们在类目下高效地切换,这无疑是一种理想方式。...如果主体信息对于用户来说更重要,最好选择横向布局。或是主体部分不仅条目多而且包含信息也多,那也该选择这种横向布局。 ---- 举例来说 ---- ? Windows窗口属于纵向排布 ?...Windows窗口属于纵向排布 ---- 0.2分栏浏览(Column Browse) ? 分栏浏览也分为横向纵向两种。用户可以通过它,选择不同类别点进并逐步引导用户找到需要信息。...而对于google学术用户,高级搜索限定更复杂搜索条件会提炼用户更期望得到信息。 ---- 0.4过滤数据组(Filter Dataset) ?  分为横向纵向。...调色盘/画布虽然不算最常见模式,但它对于创造图形类文档有着不可替代优势:比如设计线性或非线性图;流程图;页面布局;制定物理大小设计/图表或控制布局。 ---- 举例 ---- ?

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

代码实验室--带你一步步理解使用 ConstraintLayout

添加一个 ImageView 到布局 第一个任务是添加一个 ImageView 到布局. 在设计窗口, 找到控件选择板上 ImageView 拖入布局....继续, 从布局删除 TextView 创建 ImageView 底锚点和容器底部约束 UI 生成器应该看起来是这样 Inspector 显示控件控件在一个方形区域中间....相对约束定位控件: 当一个控件上有至少两个对立连接时, 比如上和下, 或者左和右, 你可以看到一个可以让你沿着对立连接轴调整控件位置滑块. 这也被称为横向纵向偏量....调整纵向横向偏量然后改变方向, 可以看到偏量依然保留. 另外也可以通过移动控件到目标目标位置实现这一点. 继续, 改变垂直偏量至75%, 而横向偏量到75%. 下面的图可用作参考....推理引擎会基于诸如空间位置和大小之类各种因素尝试查找并创建最佳连接. 横向扩展空间以适应约束 纵向扩展空间以适应约束 重要: UI 生成启动默认启用"自动连接".

2.6K60

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

手机常见尺寸有5寸、5.5寸、6寸等等 屏幕分辨率 含义:手机在横向纵向像素点数总和 一般描述成屏幕"宽x高”=AxB 含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向 (高)有B个像素点...(large) 被定义为大屏设备(7寸以上平板)会自动加载包含了large限定符目录布局,而小屏设备会加载另一个默认布局 但要注意是,这种方式只适合Android 3.2版本之前。...多屏幕设计重复模式是指,对于某些屏幕配置,已实施界面的一部分会用作面板;但对于其他配置,这部分就会以独立活动形式存在。...例如,在运行 Android 3.0 或更高版本标准 7 英寸平板电脑上,如果新闻阅读器示例应用运行在纵向模式下,就会在使用独立活动显示新闻报道;但如果该应用运行在横向模式下,就会使用双面板布局。...也就是说,如果用户处于纵向模式下且屏幕上显示是用于阅读报道活动,那么就需要在检测到屏幕方向变化(变成横向模式)后执行相应操作,即停止上述活动并返回主活动,以便在双面板布局显示相关内容: public

1.3K10

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

手机常见尺寸有5寸、5.5寸、6寸等等 屏幕分辨率 含义:手机在横向纵向像素点数总和 一般描述成屏幕”宽x高”=AxB 含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向 (高...但要注意是,这种方式只适合Android 3.2版本之前。...多屏幕设计重复模式是指,对于某些屏幕配置,已实施界面的一部分会用作面板;但对于其他配置,这部分就会以独立活动形式存在。...例如,在运行 Android 3.0 或更高版本标准 7 英寸平板电脑上,如果新闻阅读器示例应用运行在纵向模式下,就会在使用独立活动显示新闻报道;但如果该应用运行在横向模式下,就会使用双面板布局。...也就是说,如果用户处于纵向模式下且屏幕上显示是用于阅读报道活动,那么就需要在检测到屏幕方向变化(变成横向模式)后执行相应操作,即停止上述活动并返回主活动,以便在双面板布局显示相关内容: public

2.6K70

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

声明支持不同屏幕尺寸也会影响系统如何在较大屏幕上运行应用程序,尤其是,不论应用程序是否运行在屏幕兼容模式。 为了申明应用程序支持屏幕大小,应该在manifest文件包含元素。...而且,当在横向测试时可能会注意到,与纵向相比较,放置在纵向屏幕底部UI元素应该是在横向屏幕右侧。...简而言之,应该确保应用程序布局: * 适合在小屏幕上(这样用户真正使用应用程序) * 优化大屏幕,充分利用额外屏幕空间 * 优化横向纵向两个方向 如果在系统调整了布局后,UI要使用合适大小位图(...这项新技术是基于你布局需要空间(600dp宽度),而不是试图让你布局适合广义尺寸组(large or xlarge)。...默认情况下,屏幕兼容模式是禁用,和平常一样,布局会被调整到适合屏幕,但是按钮在系统栏是可用,它允许用户开启和关闭屏幕兼容模式。 注:如果应用程序布局正好适合大屏幕,就没必要使用这个属性。

2.6K60

RecyclerView实现纵向横向滚动

所用工具:Android Studio 纵向滚动 1、添加依赖库: 打开app/build.gradle文件,在dependencies闭包添加如下内容(compile ‘com.android.support...RecyclerView最外层布局,这样就可以通过findViewById()来货渠道布局ImageView和TextView实例了; BookAdapter构造函数,这个方法吧要展示数据源传进来...,子类按照接口中规范来实现就可以定制不同排雷方式布局了 //配置布局,默认为vertical(垂直布局),下边这句将布局改为水平布局 //layoutManager.setOrientation...实现横向滚动: 修改book_item代码: <?xml version="1.0" encoding="utf-8"?...,子类按照接口中规范来实现就可以定制不同排雷方式布局了 //配置布局,默认为vertical(垂直布局),下边这句将布局改为水平布局 layoutManager.setOrientation

3.3K20

Android Studio preview 不固定及常见问题解决办法

Android Studio提供了一个强大“Preview”工具,可以帮助您预览您布局文件将如何在用户设备上呈现。XML布局可能是Android开发中最常用资源。...您项目中每个活动至少有一个布局文件。 Android Studio预览工具可帮助您实现这些伟大设计,并快速迭代它们,甚至不需要运行您应用程序。...它还允许您查看布局不同配置,例如在纵向横向外观,或者TextView在多个语言环境(英语,德语或希腊语)上外观。...请记住,预览不会在应用程序运行,而是在IDEJVM上运行。 这将模拟在Android设备上工作原理,你应该假设你不能访问任何数量不在View框架内依赖。...通过设置这些视图在布局visibility:”GONE”,可以确保它们永远不会在预览时可见。 问题是,这些视图将从预览消失,如果一些其他开发人员打开布局,并在预览查找它们,他们将无法找到它。

3.6K30

Android开发之LinearLayout布局详解

Android开发之LinearLayout布局详解         LinaerLayout又被称为线性布局,是Android界面开发中常用一种容器视图控件。...使用LinearLayout可以十分轻松布局横向或者纵向线性堆叠界面,并且,嵌套使用LinearLayout也可以方便布局复杂平面组合布局,通常情况下,ScrollView会与LinearLayout...在iOS9推出UIStackView、在watchOS开发中使用和核心布局模型Group与LinearLayout思路十分一致,可见这种线性堆叠布局方式在一定场景下十分有优势。        ...); //设置显示分割线模式 /* public static final int SHOW_DIVIDER_NONE = 0; 不显示分割线...值 int getDividerPadding () //获取子视图布局模式 int getGravity () //获取线性布局方向 int getOrientation () //获取展示分割线模式

1.1K30

深入浅,官方文档看ConstraintLayout

相对定位 相对定位是在ConstraintLayout创建布局最基本构建块,也就是一个控件相对于另一个控件进行定位,可以从横向纵向添加约束关系,用到边分别有: 横向:Left、Right...这里说明一下:如果在居中方向上(横向纵向)控件尺寸和ConstraintLayout尺寸一样,那么就无所谓居中了,此时约束存在是没有意义。...尺寸约束 ConstraintLayout最小尺寸 ConstraintLayout本身可以定义自己最小尺寸: android:minWidth 设置布局最小宽度 android:minHeight...敲黑板,划重点 一般MATCH_PARENT在ConstraintLayout布局下是不支持,但是在简单布局结构(控件约束只与ConstraintLayout关联)下,MATCH_PARENT...Chain头部 横向上,Chain头部是Chain最左边控件;纵向上,Chain头部是Chain最顶部控件。

94640

Android系统五大布局详解Layout

何在代码中使用视图: 在代码创建每个Activity时,一般是在onCreate()方法,调用setContentView()来加载指定xml布局文件,然后就可以通过findViewById...()来获得在布局文件创建相应id控件了,Button等。...,其按照子元素之间位置关系完成布局,作为Android系统五大布局中最灵活也是最常用一种布局方式,非常适合于一些比较复杂界面设计。...该组件是否横向居中 android:layout_centerVertical 该组件是否垂直居中 Demo:利用相对布局设计一个如下图所示界面: 源码: <?...屏幕左上角为坐标(0,0),横向往右为正方,纵向往下为正方。实际应用,这种布局比较少,因为Android终端一般机型比较多,各自屏幕大小。

2.2K10

从0系统学Android--3.6 RecyclerView

而且 ListView 扩展性不好,只能实现数据纵向滚动效果,如果想要实现横向滚动的话就做不到了。 为此 Android 提供了更为强大控件--RecyclerView。...3.6.2 实现横向滚动和瀑布流布局 Listview 可扩展性不好,只能实现纵向滚动,如果想要横向滚动的话 ListView 就做不到了。下面用 RecyclerView 来实现横向滚动。...首先对子项布局进行修改一下,目前布局是水平排列,不适合水平滚动。 <?xml version="1.0" encoding="utf-8"?...(LinearLayoutManager.HORIZONTAL); 调用 LinearLayoutManager setOrientation() 方法来设置布局排列方向,默认是纵向排列。...主要原因是RecyclerView 出色设计,ListView 布局排列是又自身去管理,而 RecyclerView 布局排列交给了 LayoutManager ,LayoutManager 有一套可扩展布局排列接口

82220

vivo官网APP全机型UI适配方案

当然,这个也要根据自己模块情况来确定,比如微信,更适合左右屏分栏模式。...3.2.3 PAD机型适配方案骨骼图pad平板,屏幕可旋转,并且旋转后宽高比差异较大,纵向时,宽高比是5 : 8,横向时,宽高比是8 : 5。...在pad纵向时,其实高度像素是足够展示很多内容,比如下图中模块1、模块2、 模块3图片;但是在pad横向时,没办法展示更多内容(倒是有个方案,最后再说),只能下图中模块1、模块2图片。...3.4.2 不同设备区分方式通过前面的简单介绍,对选购页整体布局及不同设备上UI展示有所了解,下面来看下如何在多个设备上实现一套代码适配。首先第一步,要如何区分不同设备。...Answer:按照全屏模式设计方案,折叠屏和pad也就是一种大尺寸机器,开发人员判断机型分辨率和尺寸,选择一种对应布局展示就好了,只用一个应用就能搞定。

1.5K30

折叠屏 ② | 华为资深专家深入解读折叠屏单页面布局设计

今天文章,我们一同来聊聊应用迁移到折叠屏设备时,单页面布局设计应重点关注哪几种拥有持久生命力且表现优秀布局方式?...组合页面(信息架构重构):将原先两个或多个页面的内容,合并到一个新页面以分栏或其他形式呈现出来,形成跨页面的交互,从而在适合场景下构建出新页面组合样式和新用户体验。...重复效果 布局特点:重复布局特点是,利用屏幕宽度优势,将相同属性布局组件(例如:歌单列表,应用列表等),横向并列同时排布。 适应场景:对于内容运营类列表信息,适合在⼤屏上展示更多内容。...瀑布效果 布局特点:瀑布布局特点是,利用屏幕宽度优势,将原来单列线性纵向排布布局,拓展变为两列/多列纵向布局。...或许大家也都发现了,单页面布局设计有些经典布局模式是长盛不衰,是可以用做很多行业和专业领域准模板。

1.4K20

ActiveReports 报表应用教程 (4)---分栏报表

在葡萄城ActiveReports报表可以实现分栏报表布局样式,可以设置横向分栏、纵向分栏,同时进行分栏和分组设置,统计分栏分组小计、合计等。...在商业报表系统中常见分栏报表有商品标签、员工工卡、条码打印等。本文主要讲解如何在葡萄城ActiveReports报表实现横向分栏、纵向分栏和分组分栏报表。...1、横向分栏报表 1.1、在 ASP.NET 应用程序添加一个名为 rptAcrossDown.cs ActiveReports 报表文件,选择项目模板类型为 ActiveReports 7 区域报表...1.2、选择报表 detail 区域,在属性对话框设置以下属性: ColumnCount 2 ColumnDirection AcrossDown 从报表资源管理器中将数据字段拖拽到报表设计界面,最终得到以下设计结构...2、纵向分栏报表 切换到报表设计界面,选中 detail 区域,然后在属性窗口中设置以下属性: ColumnCount 2 ColumnDirection DownAcross 运行报表得到以下结果:

2.7K80

响应式设计(Response Web Design)浅谈

(早先数据:2005至2008年市场400余种移动设备统计情况 http://www.quirksmode.org/mobile/mobilemarket.html) 这份统计结果已经比较早了,...国外已经有一些这样应用例子了,: http://foodsense.is/, 此网站在Android效果: 不采用响应式Web设计 news.sina.com.cn 在Android效果,...需要用双指进行缩放才能友好浏览: foodsense.is 在其它设备分辨率下情况: (iPad1/2 1024X768 横向) (iPad1/2 1024X768 纵向) (iPhone4 320X480...横向) (iPhone4 320X480 纵向) (ASUS Galaxy 7 480X800 纵向) foodsense.is 可以在各种设备分辨率下,根据分辨率不同做出响应,对菜单和图片进行重新布局...Web借由建筑上这个概念,当设备分辨率发生变化时,根据设备分辨率,调整菜单,图片,文字,等其它页面DOM状态和布局,使得页面仍然可以给用户提供友好使用体验。 未完待续……

1.2K90

Android教程-保存数据-支持不同屏幕

你也要也要意识到屏幕方向(横向或者纵向)也要被考虑成一种屏幕尺寸,所以许多应用会修改布局来优化用户在不同屏幕方向上体验 ....每一个布局应该被保存在对应资源路径,使用带有  - 后缀名称 . 例如,对于大屏幕单独布局应该被保存在 res/layout-large/ 下面....注意 : Android 会自动缩放你布局,来适当适应屏幕 ....更多信息,见 设计用于多种屏幕 . 创建不同位图  ---- 你应该针对一般项目密度类型提供位图资源恰当缩放版本: 低, , 高 和 超高项目密度 ....更多有关为应用创建图标资源提示和指南,见 图标设计指南.

61820

深入浅,官方文档看ConstraintLayout

相对定位 相对定位是在ConstraintLayout创建布局最基本构建块,也就是一个控件相对于另一个控件进行定位,可以从横向纵向添加约束关系,用到边分别有: 横向:Left、Right、Start...当相同方向上(横向纵向),控件两边同时向ConstraintLayout添加约束,情况就会像图 4所示这样。 ?...这里说明一下:如果在居中方向上(横向纵向)控件尺寸和ConstraintLayout尺寸一样,那么就无所谓居中了,此时约束存在是没有意义。...敲黑板,划重点:一般MATCH_PARENT在ConstraintLayout布局下是不支持,但是在简单布局结构(控件约束只与ConstraintLayout关联)下,MATCH_PARENT是被支持...模式 CHAIN_PACKED Chain所有控件合并在一起后在剩余空间中居中 ?

89530

Android带你解析ScrollView--仿QQ空间标题栏渐变

)和纵向滚动视图(ScrollView),今天主要研究纵向。...相信大家在开发中经常用到,ScrollView功能已经很强大了,但是仍然满足不了我们脑洞大开UI设计师们,所以我们要自定义…本篇文章主要讲监听ScrollView滑动实现仿QQ空间标题栏渐变,先看一下效果图...可看这个效果 android:scrollY 以像素为单位设置垂直方向滚动偏移值 android:scrollbarAlwaysDrawHorizontalTrack 设置是否始终显示垂直滚动条...* @param oldt Previous vertical scroll origin. */ 我们可以知道这个方法参数分别为: l:当前横向滑动距离 t:当前纵向滑动距离...oldl:之前横向滑动距离 oldt:之前纵向滑动距离 但是这个方法我们不可以调用,我们可以重写接口或者重写ScrollView暴露该方法: package com.hankkin.gradationscroll

1.5K10
领券