美文网首页Android开发经验谈
Android平板应用适配

Android平板应用适配

作者: 浮云梦之殇 | 来源:发表于2017-12-02 01:54 被阅读0次

首先是尺寸的适配,android平板和手机相比,由于pad的大屏特性,屏幕的尺寸和分辨率的差别就很明显,例如以下平板信息:

小米平板:4.4.4 densityDpi:320 size:1536x2048

华为平板:5.1.1 densityDpi:240 size:1200x1920

华为荣耀某平板:6.1 densityDpi:320 size:1200x1920

三星平板:6.0.1 densityDpi:320 size:1600x2560

同样的一套mdpi下的layout或者values放在上面华为荣耀平板和三星平板上显示差别就很大。下面是开发中关于设计的一些心得:

1. 开发中保持不增加布局层级的情况下采用百分比weight属性;针对不同尺寸的设备百分比缩放是体验最完美的,但由于实际开发中复杂界面如果采用百分比,无疑增加了层级复杂度,反而降低了性能,降低了可维护性和扩展性。

2. layout中使用的dp/sp值采用@dimen引用方式写进dimens.xml里面;为了方便采用多个values文件夹例如values-sw600dp,values-1280x720等针对特定屏幕适配。自然也可以采用layout-1280x720这样的来区分不同布局,但如果只是尺寸上的适配,无疑用dimens维护几套尺寸值是最容易的,还可以写个读写文件工具,修改一个values里的dimens文件后更新到所有的values文件;

3. 以上面的华为荣耀平板为例,采用sw(smallwidth)的方式进行适配,比较简单的计算方式,以mdpi(160)为标准,此平板的screenWidthDips = 1200/(320/160) = 600dp,所以values-sw600dp可以适配此平板(有的平板系统宽高是包含屏幕的虚拟按键的高度);

4. 为了苛求在不同尺寸平板上的体验,采用values-1200x1920,values-1600x2560这种方式,即为每个屏幕增加尺寸适配,工作量和效率来说不会影响太大,毕竟可以通过软件工具生成多套;

除了界面方面,平板开发上的模块化采用Fragment更多,以及Fragment嵌套Fragment:

5. Fragment中调用startActivityForResult,如果要在Fragment的onActivityResult里回调处理,那么不要采用getActivity().startActivityForResult方法,且宿主Activity如果重写了onActivityResult方法的,必须调用super.onActivityResult,否则Fragment的onActivityResult方法不会回调,这点可以从Activity的源码中看出来;

6. 嵌套在Fragment里的子Fragment的onActivityResult如果需要回调则要自己处理;

7. Fragment嵌套Fragment时,在Fragment里采用getChildFragmentManager()管理子Fragment,用法跟getSupportFragmentManager()一样;子Fragment之间的通信,可以采用事件总线方案进行解耦,例如Otto/EventBus,但可读性会下降,所以详细的注释还是必要的;

相关文章

  • Android平板应用适配

    首先是尺寸的适配,android平板和手机相比,由于pad的大屏特性,屏幕的尺寸和分辨率的差别就很明显,例如以下平...

  • Android 三种适配方案

    适配缘由 做Android开发一定会碰到适配这个问题,在Android世界里,Android设备太多了,手机,平板...

  • Android屏幕适配-应用篇

    目录 Android屏幕适配-基础篇Android屏幕适配-应用篇 Android屏幕适配最主要的原因:  是由于...

  • 判断是android设备或PAD设备

    Android 判断当前设备是手机还是平板 Android开发需要适配手机和平板,有些需求实现时就要求判断设备是手...

  • Flutter App iPhone设置竖屏&iPad设置横屏

      铛铛铛~,偶又来了。。。   本来项目只需要适配手机就设置了竖屏,后来也需要适配ipad和Android平板。...

  • Android屏幕适配-基础篇

    Android屏幕适配-基础篇Android屏幕适配-应用篇 重要概念 什么是屏幕尺寸、屏幕分辨率(px)、屏幕像...

  • Android各个版本行为变更与适配

    Android9.0 Android 9.0 行为变更Android P版本应用兼容性适配技术指导Android ...

  • Android全面屏适配

    Android全面屏适配 方案1: AndroidManifest.xml 文件添加属性: 应用适配建议采用me...

  • Android平板适配方案

    1、布局统一用LinearLayout通过比重控制布局大小; 2、适配器对item布局进行手动设置大小; 3、对话...

  • Android平板多屏幕适配

    作者简介 原创微信公众号郭霖 WeChat ID: guolin_blog 大家早上好,新的一周开始了!本篇来自朱...

网友评论

    本文标题:Android平板应用适配

    本文链接:https://www.haomeiwen.com/subject/fkembxtx.html