ScreenMatch屏幕适配及刘海屏适配处理

1.下载安装

    File------>Settings----------->Plugin---------->Browse Repositories-------------->搜索screenMatch--->install.


ScreenMatch屏幕适配及刘海屏适配处理_第1张图片


点击Browse Repositories 后,弹出如下界面,我们只需按提示操作即可,安装完成重启AndroidStudio。


ScreenMatch屏幕适配及刘海屏适配处理_第2张图片



2.使用

在你的项目例如app上右键,即可看到我们刚才安装的插件screenMatch,如下图所示:

ScreenMatch屏幕适配及刘海屏适配处理_第3张图片


选择ScreenMatch后,弹出对话框,给我们提示让我选择我们要适配的module,如下图,这里我只有一个模块。


ScreenMatch屏幕适配及刘海屏适配处理_第4张图片


选择OK我们会发现,如下图这样的提示,证明我们操作成功了。


ScreenMatch屏幕适配及刘海屏适配处理_第5张图片


点击OK,我们会项目的目录下发现screenMatch.properties,screenMatch_example_dimens.xml文件,那么我分别看他们是什么,如下:


screenMatch.properties
############################################################################
# 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



screenMatch_example_dimens.xml
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下,如下图所示:

ScreenMatch屏幕适配及刘海屏适配处理_第6张图片


接着我们操作上述步骤,app------鼠标右键---------->选择ScreenMatch--------->selectModule(app)--->ok....。我们就会生成如下目录:


ScreenMatch屏幕适配及刘海屏适配处理_第7张图片ScreenMatch屏幕适配及刘海屏适配处理_第8张图片


参考文章:

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


Android刘海屏适配

华为  :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

Android适配刘海屏 https://blog.csdn.net/li15225271052/article/details/79967647


你可能感兴趣的:(Android)