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)
上一篇 2022年5月18日 下午6:40
下一篇 2022年5月18日 下午6:40


相关推荐

  • SkipList详解

    SkipList详解本文参考 大数据日知录 概念 SkipList 是一种用来代替平衡树的数据结构 虽然在最坏的情况下 SkipList 的效率要低于平衡树 但是大多数情况下效率仍然非常高 其插入 删除 查找的时间复杂度都是 O log N 除了高效外 其实现和维护非常简单也是一大优势 SkipList 的使用还是比较广泛的 比如在 LevelDB 中的 MemTable 就是使用 SkipList 实现的 Redis 的

    2026年3月26日
    2
  • ZCF:一键配置Claude Code完整开发环境的工具

    ZCF:一键配置Claude Code完整开发环境的工具

    2026年3月16日
    2
  • RandomAccessFile使用

    RandomAccessFile使用packagetest kang importjava io File importjava io FileNotFound importjava io IOException importjava io RandomAccess publicclassT publicstatic String arg

    2026年3月17日
    2
  • QPM 之简介

    QPM 之简介QPM QualityPerfo 是一个质量性能监控组件 可以很方便的查看当前 App 的性能和常用数据 目前主要运行在 Android 平台上 通过集成 QPM 组件 可以在 App 中通过悬浮窗可视化相关实时数据 意在帮助广大开发者和测试同学快速了解 App 中存在的性能问题 并展示了很多常用的数据 减少重重复杂的操作 经过了好几个月的方案调研 不断的优化

    2026年3月26日
    2
  • selenium.webdriver_python electron

    selenium.webdriver_python electronhttp://blog.csdn.net/huilan_same/article/details/52789954今天谈谈文件下载吧,很多人不会处理弹出的文件下载框,其实跟上传类似,可以用autoit和win32api解决,方法类似,可以看博主之前的文章 Pythonselenium——文件上传所有方法整理总结 ,今天这里博主主要想讲讲更漂亮的一种处理办法,那就是指定

    2025年12月3日
    6
  • 【MySQL优化】——看懂explain

    【MySQL优化】——看懂explainexplain nbsp nbsp nbsp nbsp explain 模拟优化器执行 SQL 语句 在 5 6 以及以后的版本中 除过 select 其他比如 insert update 和 delete 均可以使用 explain 查看执行计划 从而知道 mysql 是如何处理 sql 语句 分析查询语句或者表结构的性能瓶颈 作用 1 表的读取顺序 2 数据读取操作的操作类型 3 哪些索引可以使用 4

    2026年3月17日
    2

发表回复

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

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