最新最全文章(2018-08-25):https://blog.csdn.net/fesdgasdgasdg/article/details/82054971

dp方式屏幕适配原理请看:http://blog.csdn.net/fesdgasdgasdg/article/details/52325590

                                            http://download.csdn.net/download/fesdgasdgasdg/9913744

bat批处理文件的使用方式请看:http://blog.csdn.net/fesdgasdgasdg/article/details/78107653

插件源码请看:https://github.com/mengzhinan/ScreenMatch

 

为了使用方便,我把双击bat的方式改成了在Android Studio中的项目上右键弹出菜单的方式。选择菜单即可完成所有的工作,原理和bat方式一样。

使用步骤如下:

1、下载安装。

点击Browse repositories...去搜索安装,安装好后即可看到ScreenMatch插件,右侧有描述信息和相关连接。

 

2、调起菜单。

安装好后,在项目的任意目录或文件上右击菜单(或按快捷键),即可看到ScreenMatch选项。

 

3、选择在哪个module下执行适配。

即基于哪个module下的res/values/dimens.xml文件作为基准dimens文件,生成的其他尺寸dimens文件放在哪个module下。

 

选择一个,点击确定。

 

 

如果无误,则会有成功提示,如上图。完成了,使用就这么简单。

 

4、提供默认dimens文件样例。

在项目的根目录提供了一个默认的dimens.xml文件样例,怕你不知道怎么写,或者懒。如果不需要,可以删除。在后面讲到的配置文件中可以配置是否生成。

 

5、生成配置文件。

生成了配置文件,如果删除了或者没有创建,则所有的适配都是用默认值,默认值请看源码。

 

6、配置文件详解。



#
# 手机widthDP基准值,一般都是360dp,不建议更改,除非你对屏幕适配原理有深刻的见解。否则不给是或者给360,程序内的默认值为360

base_dp=360

 


# 你还有哪些widthDP值需要适配,多个值以英文逗号分隔。如果算出来的widthDP值有小数,取整。比喻411.948,则取411
# 系统默认适配的widthDP值为: 384,392,400,410,411,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365
match_dp=

 


# 如果你觉得系统默认适配的某些值不想要,就在此设置,下次适配时会忽略这些值。多个值以英文逗号分隔。
ignore_dp=

 


# 项目根目录中哪些目录不是module或者你不想让他在Dalog中显示,就在此设置。多个值以英文逗号分隔。
# 系统默认忽略了这些目录:    .gradle,gradle,.idea,build,.git
ignore_module_name=

 


# 请设置默认处理和存放dimes适配文件的module。
# 如果你后面设置了不弹出Dialog,则适配时系统默认取这个module路径处理适配操作。
match_module=app

 


# 是否不弹出适配时的选择对话框,使用上面的match_module默认值。
# 此处赋值为  true 或者 false,默认值为false,即弹出对话框。
not_show_dialog=false

 


# 是否不再生成项目根目录默认的dimens样例文件?怕你不会写,所以我给你生成了
# 此处赋值为   true 或者 false,默认为false,即生成。
not_create_default_dimens=false

 


# 是否同时适配sp字体。因为我怕字体也跟着xxxdp/360dp这样的比例缩放不准确。
# 此处赋值为  true 或者 false,默认值为true,即sp和dp一样,都等比缩放。此处待研究和验证。
is_match_font_sp=true

 

//===以下更新===============================================================

# 关于生成的dimens.xml适配文件夹,你是想用values-wXXXdp 还是 values-swXXXdp 格式?
# 通过对官网文档的查阅,sw意思是smallest width dp的含义,即始终使用最小宽度 dp 值。
# 这样做的好处是,可以解决手机横竖屏切换时到处的意想不到的bug出现,即某些view的宽高尺寸会放大一倍。
# 比喻:你手机的widthDP=360dp,heightDP=640dp。
# 如果竖屏时手机寻找values-w360dp或values下默认的360dp的dimens.xml文件值;
# 如果旋转手机为横屏模式,手机会寻找values-w640dp目录中的dimens.xml文件值;
# 故,导致UI发生变化了。
# sw即表示无论是横屏还是竖屏,手机系统都会使用最小width dp值;
# 即上例中,横竖屏时都使用values-sw360dp或values下默认的360dp的dimens.xml文件值。
# 下面配置项的值如果为false,则表示你只想生成values-wXXXdp格式,如果你的app不涉及到页面横屏。
# 不给值或值为true,表示生成values-swXXXdp格式。
# 默认值为true。
create_values_sw_folder=true


如果你发现你的项目里面的screenMatch.properties配置文件中没有上述某些值,
则请删除你的配置文件,右键项目运行一遍插件,则会再次生成最新的配置。


关于默认的dimens.xml文件内容的问题。这些基础dimen项,难道自己手写?
我早已经给你们提供了模板文件,在你项目的根目录,
与screenMatch.properties配置文件并列的screenMatch_example_dimens.xml文件。
你可以把此screenMatch_example_dimens.xml模板文件更名为dimens.xml复制到....src/main/res/values下,
或者更新已有的....src/main/res/values/dimens.xml文件内容。

 

 

 

 

 

更多相关文章

  1. android 布局文件 layout_weight用法
  2. Android之MotionLayout(四),用 MotionLayout实现向上拉的折叠效
  3. Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
  4. android:configChanges 屏幕横竖屏切换
  5. android studio ndk 开发以及问题
  6. Unity3D -- 打包Android多个AndroidManifest
  7. 获得Android(安卓)Linux系统增删文件的权限
  8. android 中xml文件中出现 Attr.value missing 错误
  9. android字体加粗的方法

随机推荐

  1. Small Structures:低载量Pt纳米团簇锚定在
  2. AM:顺序A位掺杂精确控制钙钛矿结晶动力学
  3. Small:等离激元超构表面与单层二硫化钼光
  4. PHP基础知识:PHP代码书写规范及数组遍历方
  5. 购物车全选与自动计算参与结算的商品价格
  6. 04-Vue_过滤器
  7. 03-Vue_样式设置
  8. 02-Vue_事件修饰符
  9. 01-Vue_常用指令
  10. LVS+KeepAlived+Nginx高可用实现方案