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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RJ45接口定义_rj45针脚顺序

    RJ45接口定义_rj45针脚顺序下面是[RJ45接口针脚定义(各种接口针脚定义)]的电路图RJ45接口信号定义,以及网线连接头信号安排以太网10/100Base-T接口:PinNameDescription1TX+TranceiveData+(发信号+)2TX-TranceiveData-(发信号-)3RX+ReceiveData+(收信号+)4n/cNotconnected(空脚)5…

    2022年9月15日
    0
  • Idea激活码永久有效Idea2020.2.2激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2020.2.2激活码教程-持续更新,一步到位Idea激活码永久有效2020.2.2激活码教程-Windows版永久激活-持续更新,Idea激活码2020.2.2成功激活

    2022年6月17日
    25
  • 关于web.xml配置中的<url-pattern>

    关于web.xml配置中的<url-pattern>标签<url-pattern><url-pattern>是我们用Servlet做Web项目时需要经常配置的标签,例:<servlet><servlet-n

    2022年7月3日
    23
  • PAT乙级1004

    PAT乙级10041004.成绩排名(20)时间限制400ms内存限制65536kB代码长度限制8000B判题程序Standard作者CHEN,Yue读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为第1行:正整数n第2行:第1个学生的姓名学号成绩第3行:第2个学生的姓名学号成绩…………

    2022年6月3日
    36
  • windows server 2008 web服务器搭建

    windows server 2008 web服务器搭建在众多小企业中,Web服务器的应用也需是最广泛的,企业网站的建立促进了服务器进驻中小企业,而Web服务器的建立也越来越多。而面对诸多的Web服务器应用系统,可以说是多种多样,有大家最熟悉的微软的IIS,也有开源的Apache,还有大型网站应用比较多的Unix,总之可以说是各有各的优点。  今天介绍的是,微软的IIS,因其图形界面的操作方式,给人以直观的操作感受,部署简便,是很多用户的首选,而Apache的部署要相对复杂,一般新手很难马上上手,所以这里先跟大家讲解一下IIS7.0的搭建Web服务器的方法。

    2022年5月28日
    38
  • busybox 安装mysql_安装busybox「建议收藏」

    busybox 安装mysql_安装busybox「建议收藏」安装busybox按以下步骤即可:1.root手机2.查看手机支持的cpu架构:cat/system/build.prop|grepabi我手机查出来的结果如下所示:ro.product.cpu.abi=armeabi-v7aro.product.cpu.abi2=armeabi3.下载适合你手机的Busybox,可以直接下载binary文件,地址如下:https://busybox.ne…

    2022年7月25日
    10

发表回复

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

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