AndroidAutoSize:屏幕适配方案终极版

AndroidAutoSize 是一个极低成本的 Android 屏幕适配解决方案,基于业界先进的屏幕适配方案优化而来。该项目通过动态计算控件的实际像素大小,实现了在各种 Android 设备上的完美界面适配。

【免费下载链接】AndroidAutoSize 🔥 A low-cost Android screen adaptation solution (今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案). 【免费下载链接】AndroidAutoSize 项目地址: https://gitcode.com/gh_mirrors/an/AndroidAutoSize

技术原理

AndroidAutoSize 基于 Android 的密度无关像素(dp)单位,通过动态调整全局比例因子来实现自适应。它采用类库自动注入的方式,无需更改现有代码逻辑即可启用适配功能。

核心功能在于提供了一个全局的比例因子,这个因子可以根据设备的屏幕密度和目标像素密度进行动态调整。项目支持 Java 与 Kotlin 两种语言,并且完全兼容 Android Studio 的 Gradle 插件。

快速开始

安装依赖

通过 JitPack 添加依赖:

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}

dependencies {
    implementation 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'
}

基本配置

在 AndroidManifest.xml 中配置全局设计图尺寸:

<manifest>
    <application>            
        <meta-data
            android:name="design_width_in_dp"
            android:value="360"/>
        <meta-data
            android:name="design_height_in_dp"
            android:value="640"/>           
     </application>           
</manifest>

只需要这一步配置,框架就可以自动对项目中的所有页面进行适配。

高级功能

Activity 自定义适配

当某个 Activity 的设计图尺寸与全局设计图尺寸不同时,可以实现 CustomAdapt 接口:

public class CustomAdaptActivity extends AppCompatActivity implements CustomAdapt {
    @Override
    public boolean isBaseOnWidth() {
        return false;
    }

    @Override
    public float getSizeInDp() {
        return 667;
    }
}

取消适配

如果某个 Activity 不需要适配,实现 CancelAdapt 接口即可:

public class CancelAdaptActivity extends AppCompatActivity implements CancelAdapt {
}

Fragment 支持

首先开启 Fragment 支持:

AutoSizeConfig.getInstance().setCustomFragment(true);

然后为 Fragment 实现相应的适配接口。

副单位支持

为了避免修改 DisplayMetrics#density 对系统控件或第三方库的影响,可以使用副单位:

AutoSizeConfig.getInstance().getUnitsManager()
        .setSupportDP(false)
        .setSupportSP(false)
        .setSupportSubunits(Subunits.MM);

使用副单位后,可以直接填写设计图上的像素尺寸,无需再进行单位转换。

适配效果展示

Pixel 2 XL 设备适配效果 Nexus 5X 设备适配效果 Nexus 4 设备适配效果

开发预览

在 Android Studio 中进行布局预览时,可以选择 panel 主题来隐藏状态栏和导航栏,获得更好的预览效果:

预览主题设置

项目特点

  1. 极低成本:只需一步配置即可完成全局适配
  2. 高性能:编译时处理降低运行时计算开销
  3. 高度灵活:支持 Activity 和 Fragment 级别的自定义适配
  4. 兼容性好:支持 Android 4.0+ 系统
  5. 不影响现有代码:采用无侵入式设计

适用场景

  • 新项目快速实现屏幕适配
  • 老项目迁移和适配优化
  • 需要支持多种屏幕尺寸和分辨率的应用
  • 希望减少屏幕适配工作量的开发团队

AndroidAutoSize 是 Android 开发者的强大工具,能够有效解决多屏幕适配问题,提升开发效率,降低维护成本。无论您是新手还是经验丰富的开发者,都值得尝试将这个项目引入到您的下一个 Android 项目中。

【免费下载链接】AndroidAutoSize 🔥 A low-cost Android screen adaptation solution (今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案). 【免费下载链接】AndroidAutoSize 项目地址: https://gitcode.com/gh_mirrors/an/AndroidAutoSize

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值