• Stars
    star
    1,502
  • Rank 31,239 (Top 0.7 %)
  • Language
    Java
  • Created over 6 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔥一种非常好用的 Android 屏幕适配——smallestWidth 限定符适配 https://www.jianshu.com/p/1302ad5a4b04

一种非常好用的 Android 屏幕适配——smallestWidth 限定符适配

使用

  1. 获取设计图最小宽度(单位为 dp)。
  2. 以设计图最小宽度作为基准值,生成所有设备对应的 dimens.xml 文件。
    如果项目只需要适配手机的话,只需要生成 320、360、362.2641、384、392.7272、400、410、411.4285、432、480 对应的 dimens.xml 文件即可。
  3. 根据设计图标注,标注多少 dp,布局中就写多少 dp,格式为 @dimen/dp_XX。

详细介绍请看文章:一种非常好用的 Android 屏幕适配

优点

  • 使用简单
    利用插件生成对应的 dimens.xml 文件,设计图标注多少 dp,布局中就写多少 dp,格式为 @dimen/dp_XX,sp 同理。

  • 稳定性好
    smallestWidth 限定符适配方案很早就出现了,经过大量用户的验证,市面上的主流设备几乎都能精准适配。

  • 对性能无影响
    适配原理是系统根据限定符去寻找对应的 dimens.xml 文件,并不影响程序的性能。

  • 兼容性好
    smallestWidth 限定符适配寻找 dimens.xml 文件的原理是从大往小找,没有对应的则使用默认的,所以即使没有完全匹配也能达到不错的适配效果。

  • 不影响第三方库
    需要适配的地方使用该种适配方案即可,不会影响到第三方库。

  • 更换成本低
    该套适配方案采用的单位是 dp 和 sp,dp 和 sp 是 google 推荐使用的计量单位,即使以后不用该套适配方案,任然不影响现有的界面。

适配效果图

如下,将按钮的宽度设置为 @dimen/dp_360,运行在不同(最小宽度不同)的设备上都是可以铺满屏幕宽度的,说明适配成功!

Nexus S(320 dp):

Nexus S

Nexus 5(360 dp):

Nexus 5

Nexus 4(384 dp):

Nexus 4

Pixel 3(392.7272 dp):

Pixel 3

Pixel XL(411.4285 dp):

Pixel XL

Pixel 3 XL(411.4285 dp):

Pixel 3 XL

ps:如果对你有帮助,点下 star 就是对我最大的认可。

More Repositories

1

IDCardCamera

🔥Android自定义相机实现身份证拍照,并加入自动对焦与图片不规则裁剪。 https://www.jianshu.com/p/5e3cb0c63cd5
Java
1,195
star
2

PictureSelector

🔥 Android 图片选择器(仿 IOS 图片选择控件)
Java
329
star
3

MqttAndroidClient

Android消息推送MQTT
Java
194
star
4

UMengThirdPartyShareLogin

Android使用友盟集成第三方分享和第三方登录
Java
109
star
5

AndroidNotes

本人多年的Android笔记,既有基础知识,也有深度好文!持续更新中...
Java
97
star
6

FontAdaptation

Android 字体大小适配的各种场景
Java
55
star
7

DomobVideoDemo

Android接入多盟广告--让你的APP通过广告平台赚钱
Java
44
star
8

WildmaExpandFoldText

Android仿微信朋友圈全文、收起功能
Java
36
star
9

okhttps

OkHttp请求自签名的https网站,Glide加载自签名的https图片
Java
32
star
10

ShareSDKThirdPartyShareLogin

Android使用ShareSDK集成第三方分享和第三方登录
Java
25
star
11

PoiDemo

利用高德地图关键字检索POI-实现仿微信发朋友圈搜索附近位置
Java
24
star
12

WildmaTinker

Android热修复框架Tinker完整集成
Java
23
star
13

AndroidUSB

Android 设备与 U 盘之间的交互
Java
15
star
14

GlideRoundImage

利用Glide实现矩形圆角图片
Java
11
star
15

Wifi

Wi-Fi 相关操作,例如判断 Wi-Fi 是 2.4G、5G,还是 2.4G+5G 双频。
Kotlin
10
star
16

WildmaX5Web

腾讯浏览服务X5内核
Java
8
star
17

AndroidChart

Android图表之范围柱状图和雷达图
Java
5
star
18

MVP-Pattern

Android中的MVC与MVP详细对比Demo
Java
2
star
19

BigWorld

热点新闻APP Material Design + MVP + RxJava + Retrofit + Okhttp + Dagger2 for Android
Java
1
star
20

ShowDialog

Android Studio Plugin
Java
1
star
21

AndroidFastDevelop

Java
1
star
22

WildmaJpush

新版极光推送Demo
Java
1
star