File------>Settings----------->Plugin---------->Browse Repositories-------------->搜索screenMatch--->install.
点击Browse Repositories 后,弹出如下界面,我们只需按提示操作即可,安装完成重启AndroidStudio。
在你的项目例如app上右键,即可看到我们刚才安装的插件screenMatch,如下图所示:
选择ScreenMatch后,弹出对话框,给我们提示让我选择我们要适配的module,如下图,这里我只有一个模块。
选择OK我们会发现,如下图这样的提示,证明我们操作成功了。
点击OK,我们会项目的目录下发现screenMatch.properties,screenMatch_example_dimens.xml文件,那么我分别看他们是什么,如下:
############################################################################ # Start with '#' is annotate. # # In front of '=' is key, cannot be modified. # # More information to visit: # # http://blog.csdn.net/fesdgasdgasdg/article/details/52325590 # # http://download.csdn.net/detail/fesdgasdgasdg/9913744 # # https://github.com/mengzhinan/PhoneScreenMatch # ############################################################################ # # You need to refresh or reopen the project every time you modify the configuration, # or you can't get the latest configuration parameters. # ############################################################################# # # Base dp value for screen match. Cut the screen into [base_dp] parts. # Data type is double. System default value is 360. # I advise you not to modify the value, be careful !!!!!!!!! _^_ *_* base_dp=360 # Also need to match the phone screen of [match_dp]. # If you have another dp values. # System default values is 384,392,400,410,411,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365 match_dp= # If you not wanna to match dp values above. Write some above values here, append value with "," . # For example: 811,961,1365 ignore_dp= # They're not android module name. If has more,split with , Symbol. # If you set, it will not show in SelectDialog. # If you have, write here and append value with "," . # For example: testLibrary,commonModule # System default values is .gradle, gradle, .idea, build, .git ignore_module_name= # Use which module under the values/dimen.xml file to do the base file, # and generated dimen.xml file store in this module? # Default value is 'app'. match_module=app # Don't show select dialog again when use this plugin. # System screen match will use the last selected module name or default module name. # You can give value true or false. Default value is false. not_show_dialog=false # Do you want to generate the default example dimens.xml file? # In path of .../projectName/screenMatch_example_dimens.xml, It does not affect your project code. # You can give value true or false. Default value is false. not_create_default_dimens=false # Does the font scale the same size as the DP? May not be accuracy. # You can give value true or false. Default value is true. Also need scaled. is_match_font_sp=true # Do you want to create values-wXXXdp folder or values-swXXXdp folder ? # I suggest you create values-swXXXdp folder, # because I had a problem when I was working on the horizontal screen adapter. # values-swXXXdp folder can solve my problem. # If you want create values-swXXXdp folder, set "create_values_sw_folder=true", # otherwise set "create_values_sw_folder=true". # Default values is true. create_values_sw_folder=true |
xml version="1.0" encoding="UTF-8"?> <resources> <dimen name="card_common_margin_left">@dimen/dp_15dimen> <dimen name="dp_m_60">-60dpdimen> <dimen name="dp_m_30">-30dpdimen> <dimen name="dp_m_20">-20dpdimen> <dimen name="dp_m_12">-12dpdimen> <dimen name="dp_m_10">-10dpdimen> <dimen name="dp_m_8">-8dpdimen> <dimen name="dp_m_5">-5dpdimen> <dimen name="dp_m_2">-2dpdimen> <dimen name="dp_m_1">-1dpdimen> <dimen name="dp_0">0dpdimen> <dimen name="dp_0_1">0.1dpdimen> <dimen name="dp_0_5">0.5dpdimen> <dimen name="dp_1">1dpdimen> <dimen name="dp_1_5">1.5dpdimen> <dimen name="dp_2">2dpdimen> <dimen name="dp_2_5">2.5dpdimen> <dimen name="dp_3">3dpdimen> <dimen name="dp_3_5">3.5dpdimen> <dimen name="dp_4">4dpdimen> <dimen name="dp_4_5">4.5dpdimen> <dimen name="dp_5">5dpdimen> <dimen name="dp_6">6dpdimen> <dimen name="dp_7">7dpdimen> <dimen name="dp_7_5">7.5dpdimen> <dimen name="dp_8">8dpdimen> <dimen name="dp_9">9dpdimen> <dimen name="dp_10">10dpdimen> <dimen name="dp_11">11dpdimen> <dimen name="dp_12">12dpdimen> <dimen name="dp_13">13dpdimen> <dimen name="dp_14">14dpdimen> <dimen name="dp_15">15dpdimen> <dimen name="dp_16">16dpdimen> <dimen name="dp_17">17dpdimen> <dimen name="dp_18">18dpdimen> <dimen name="dp_19">19dpdimen> <dimen name="dp_20">20dpdimen> <dimen name="dp_21">21dpdimen> <dimen name="dp_22">22dpdimen> <dimen name="dp_23">23dpdimen> <dimen name="dp_24">24dpdimen> <dimen name="dp_25">25dpdimen> <dimen name="dp_26">26dpdimen> <dimen name="dp_27">27dpdimen> <dimen name="dp_28">28dpdimen> <dimen name="dp_29">29dpdimen> <dimen name="dp_30">30dpdimen> <dimen name="dp_31">31dpdimen> <dimen name="dp_32">32dpdimen> <dimen name="dp_33">33dpdimen> <dimen name="dp_34">34dpdimen> <dimen name="dp_35">35dpdimen> <dimen name="dp_36">36dpdimen> <dimen name="dp_37">37dpdimen> <dimen name="dp_38">38dpdimen> <dimen name="dp_39">39dpdimen> <dimen name="dp_40">40dpdimen> <dimen name="dp_41">41dpdimen> <dimen name="dp_42">42dpdimen> <dimen name="dp_43">43dpdimen> <dimen name="dp_44">44dpdimen> <dimen name="dp_45">45dpdimen> <dimen name="dp_46">46dpdimen> <dimen name="dp_47">47dpdimen> <dimen name="dp_48">48dpdimen> <dimen name="dp_49">49dpdimen> <dimen name="dp_50">50dpdimen> <dimen name="dp_51">51dpdimen> <dimen name="dp_52">52dpdimen> <dimen name="dp_53">53dpdimen> <dimen name="dp_54">54dpdimen> <dimen name="dp_55">55dpdimen> <dimen name="dp_56">56dpdimen> <dimen name="dp_57">57dpdimen> <dimen name="dp_58">58dpdimen> <dimen name="dp_59">59dpdimen> <dimen name="dp_60">60dpdimen> <dimen name="dp_61">61dpdimen> <dimen name="dp_62">62dpdimen> <dimen name="dp_63">63dpdimen> <dimen name="dp_64">64dpdimen> <dimen name="dp_65">65dpdimen> <dimen name="dp_66">66dpdimen> <dimen name="dp_67">67dpdimen> <dimen name="dp_68">68dpdimen> <dimen name="dp_69">69dpdimen> <dimen name="dp_70">70dpdimen> <dimen name="dp_71">71dpdimen> <dimen name="dp_72">72dpdimen> <dimen name="dp_73">73dpdimen> <dimen name="dp_74">74dpdimen> <dimen name="dp_75">75dpdimen> <dimen name="dp_76">76dpdimen> <dimen name="dp_77">77dpdimen> <dimen name="dp_78">78dpdimen> <dimen name="dp_79">79dpdimen> <dimen name="dp_80">80dpdimen> <dimen name="dp_81">81dpdimen> <dimen name="dp_82">82dpdimen> <dimen name="dp_83">83dpdimen> <dimen name="dp_84">84dpdimen> <dimen name="dp_85">85dpdimen> <dimen name="dp_86">86dpdimen> <dimen name="dp_87">87dpdimen> <dimen name="dp_88">88dpdimen> <dimen name="dp_89">89dpdimen> <dimen name="dp_90">90dpdimen> <dimen name="dp_91">91dpdimen> ................... |
他们分别是配置文件,dimens文件样例。配置文件我们看注释就知道他是干什么的 了。我们默认创建的项目是没有dimens文件的,我们把这个样例dimens文件复制放在values下,如下图所示:
接着我们操作上述步骤,app------鼠标右键---------->选择ScreenMatch--------->selectModule(app)--->ok....。我们就会生成如下目录:
dp方式屏幕适配原理请看:http://blog.csdn.net/fesdgasdgasdg/article/details/52325590
插件源码请看:https://github.com/mengzhinan/ScreenMatch
Android屏幕适配dp、px两套解决办法 https://blog.csdn.net/fesdgasdgasdg/article/details/52325590
华为 :https://devcenter-test.huawei.com/consumer/cn/devservice/doc/50114
OPPO : https://open.oppomobile.com/service/message/detail?id=61876
官方文档:https://source.android.google.cn/compatibility/cdd?hl=zh-cn
VIVO :https://open.oppomobile.com/service/message/detail?id=61876
官方文档:https://source.android.google.cn/compatibility/cdd?hl=zh-cn
xiangzhihong https://blog.csdn.net/xiangzhihong8/article/details/80317682