Android屏幕适配之Autosize

Android屏幕适配之Autosize一、简介Autosize今日头条屏幕适配方案终极版,一个极低成本的Android屏幕适配方案。二、使用1、引用implementation’me.jessyan:autosize:1.2.1’2、配置<meta-dataandroid:name=”design_width_in_dp”…

大家好,又见面了,我是你们的朋友全栈君。

一、简介

        Autosize今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案。

二、使用

        1、引用

                implementation ‘me.jessyan:autosize:1.2.1’

        2、配置

                <meta-data

                         android:name=”design_width_in_dp”

                         android:value=”宽” />

                <meta-data

                         android:name=”design_height_in_dp”

                         android:value=”高” />

                在AndroidManifest.xml文件中的<application></application>标签内部配置,其中value值的宽高指的是UI效果图的实际分辨率(效果图与标注图分辨率必须一致),横竖屏切换置换宽高的配置。实际使用配置如下图:Android屏幕适配之Autosize

         3、使用

                3.1、布局.xml

                        在布局中直接使用dp与sp去适配就好,没有什么好说的直接上例子Android屏幕适配之Autosize

                3.2、代码.java

                       在实际代码中我这边使用的的一个感觉比较使用的方法AutoSizeConfig.getInstance(),主要用来配置横竖屏分辨率,具体使用如下:

        //屏幕适配监听器
        AutoSizeConfig.getInstance().setOnAdaptListener(new onAdaptListener() {
            @Override
            public void onAdaptBefore(Object target, Activity activity) {
                //使用以下代码, 可以解决横竖屏切换时的屏幕适配问题
                //首先设置最新的屏幕尺寸,ScreenUtils.getScreenSize(activity) 的参数一定要不要传 Application !!!
                AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]);
                AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1]);
                //根据屏幕方向,设置设计尺寸
                if (activity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
                    //设置横屏设计尺寸
                    AutoSizeConfig.getInstance()
                            .setDesignWidthInDp(1280)
                            .setDesignHeightInDp(800);
                } else {
                    //设置竖屏设计尺寸
                    AutoSizeConfig.getInstance()
                            .setDesignWidthInDp(800)
                            .setDesignHeightInDp(1280);
                }
              
            }

            @Override
            public void onAdaptAfter(Object target, Activity activity) {
                
            }
        });

代码中的800与1280是我这边的设计稿分辨率。

若有想了解更多的可以去看一下源码:https://github.com/JessYanCoding/AndroidAutoSize

官方文档:一种极低成本的Android屏幕适配方式

三、总结

        AutoSize使用比较简单使用,代码改动代价小,容易上手。

        文章主要是我这边自身的使用总结,写的比较简单,使用是主要以参考为主,具体的需要结合使用者自身需求而定,也可以参考官方文档。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144802.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Data URI scheme「建议收藏」

    Data URI scheme「建议收藏」什么是DataURISchemedataURIscheme允许我们使用内联(inline-code)的方式在网页中包含数据,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。常用于将图片嵌入网页。HTML中网页图片一般是https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=162360699,3…

    2022年10月19日
    2
  • EasyPlayer实现直播抓拍

    EasyPlayer实现直播抓拍对于一个裸的RTSPURL,存放在播放列表上略显单调与枯燥。大家可以看到EasyPlayer在播放完视频后会保存一帧图片到列表上。那么这个功能是如何做到的呢?如果自己实现解码的话,比如使用ffmpeg解码,这种情况下,将视频帧解码,再编码成jpeg保存下来,应该不是什么难事。相信大多数播放器都是这样处理的。H264格式的视频码流=>解码=>YUV格式的视频帧=>压缩=>jpeg=>保存到

    2022年6月18日
    42
  • ionic4 ion-reorder-group组件拖拽改变item顺序

    ionic4 ion-reorder-group组件拖拽改变item顺序

    2021年6月29日
    77
  • python之路 socket、socket server

    python之路 socket、socket server

    2022年3月7日
    49
  • table css样式_html table居中

    table css样式_html table居中12345html简单的table样式67/*gridtable*/8table.gridtable{9font-family:verdana,arial,sans-serif;10font-size:11px;11color:#333333;12border-width:1px;13border-color:#666666;14bor…

    2022年9月20日
    3
  • 阿里云服务器开放所有端口_阿里云服务器开放端口设置

    阿里云服务器开放所有端口_阿里云服务器开放端口设置阿里云服务器默认只开放了部分端口号,服务配置好后,如需客户端远程访问,还需在阿里云服务器安全组开放端口号。具体操作流程如下:ps:0.0.0.0/0即为不限定ip地址,如配置nginx拦截访问端口80或443为了安全,一般需要指定允许访问的ip地址…

    2022年9月27日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号