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使用比较简单使用,代码改动代价小,容易上手。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PLSQL基本操作手册

    PLSQL基本操作手册公众号:池哥搬砖QQ1群:745460286个人WX公号:目录第1章用PLSQL连接Oracle数据库§1.2登录信息保存功能设置:§1.3进入PLSQL后切换数据库连接:第2章PLSQL中编写SQL语句并执行第3章PLSQL中查看数据库表结构§3.1查看表结构:§3.2表结构窗口和SQL编写窗口切换:第4章…

  • 服务器的cd驱动器怎么修改盘符,更改dvd驱动器盘符,cd驱动器盘符改「建议收藏」

    服务器的cd驱动器怎么修改盘符,更改dvd驱动器盘符,cd驱动器盘符改「建议收藏」有部分win7系统用户反映说,当他在电脑中安装了虚拟光驱之后,电脑就会产生好多个无效的驱动器盘符,所以就将要将它们删除掉,可以却发现右击的菜单中找不到删除选项,也无法弹出光驱,导致无法删除无效驱动器盘符,这要怎么办呢?接下来给大家分享一下Win7系统删除无效驱动器盘符右键没有删除选项要怎么解决吧!推荐:1、点击win7系统的开始菜单,右击计算机,选择管理选项卡,进入计算机管理;2、打开计算机管理后…

  • 防短信验证码轰炸怎么防_接口幂等性解决方案

    防短信验证码轰炸怎么防_接口幂等性解决方案企业短信防火墙【新昕科技】+短信验证码【中昱维信】Java应用实例一、企业短信防火墙的实现1.1简介1.2第一步:获取防火墙帐号密钥1.3第二步:下载防火墙服务器1.4第三步:业务系统前后端接入1.5丰富可视化实时风险大盘,二、短信验证码的实现2.1简介2.2短信服务商接入一、企业短信防火墙的实现1.1简介新昕科技在交易反欺诈核心上,通过AI快速学习机制,结合国际领先的设备指纹技术,首次推出无需图形验证码机制的企业短信防火墙,三步完成下载对接。1.2第一步:获取防火墙帐号密钥

  • SpringBoot项目打成war和jar的区别「建议收藏」

    SpringBoot项目打成war和jar的区别「建议收藏」首先给大家来讲一个我们遇到的一个奇怪的问题:1.我的一个springboot项目,用mvninstall打包成jar,换一台有jdk的机器就直接可以用java-jar项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?2.然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也…

  • 论坛的后缀_discuz!q

    论坛的后缀_discuz!q第一步:去掉论坛模板路径(这里以默认模板为例)/template/default/common找到header_common.htm这个文件下载$navtitle–$_G[‘setting’][‘bbname’]-PoweredbyDiscuz!$_G[‘setting’][‘seohead’]

发表回复

您的电子邮箱地址不会被公开。

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