Android简单界面适配

Android页面布局适配

引用了前人的学习后总结的简略版界面适配。
原链接:https://www.jianshu.com/p/12ce5c0a6163

使用第三方开源框架适配

Android第三方开源框架——AndroidAutoSize

屏幕适配框架AndroidAutoSize是根据今日头条屏幕适配方案优化的。 (今日头条的低成本屏幕适配终极方案)

在GitHub上也可以可以找到该开源项目。

1. 配置依赖(有更新的建议直接先看GitHub上面的源码)
<!--私有依赖-->
implementation 'me.jessyan:autosize:1.1.2'
<!--共有依赖-->
api 'me.jessyan:autosize:1.1.2'
2. 使用功能及其介绍
  1. 直接在Main.xml中添加配置即可

    <!--适配海博TV-->
    <manifest>
        <application>            
            <meta-data
                android:name="design_width_in_dp"
                android:value="540"/>
            <meta-data
                android:name="design_height_in_dp"
                android:value="960"/>           
         </application>           
    </manifest>
    
  2. 直接在Main.xml中添加这个配置是指的是整个项目的界面构造,如果有哪个界面或者活动是单独的size的话,让这个活动(或者是fragment)实现CustomAdapt接口,重写这个接口中的第一个方法就可以。

    public class CustomAdaptActivity extends AppCompatActivity implements CustomAdapt {
    
         /**
         * 是否按照宽度进行等比例适配 (为了保证在高宽比不同的屏幕上也能正常适配, 所以只能在宽度和高度之中选择一个作为基准进行适配)
         *
         * @return {@code true} 为按照宽度进行适配, {@code false} 为按照高度进行适配
         */
        @Override
        public boolean isBaseOnWidth() {
            return false;
        }
    
         /**
         * 设计图尺寸为 1080px * 1920px, 高换算成 dp 为 960 (1920px / 2 = 960dp)
         * <p>
         * 返回的设计尺寸, 单位 dp
         * {@link #getSizeInDp} 须配合 {@link #isBaseOnWidth()} 使用, 规则如下:
         * 如果 {@link #isBaseOnWidth()} 返回 {@code true}, {@link #getSizeInDp} 则应该返回设计图的总宽度
         * 如果 {@link #isBaseOnWidth()} 返回 {@code false}, {@link #getSizeInDp} 则应该返回设计图的总高度
         * 如果您不需要自定义设计图上的设计尺寸, 想继续使用在 AndroidManifest 中填写的设计图尺寸, {@link #getSizeInDp} 则返回 {@code 0}
         *
         * @return 单位 dp
         */
        @Override
        public float getSizeInDp() {
            return 667;
        }
    }
    

    如果有个界面不想要适配的话,也只需要实现CancelAdapt接口就行。

    public class CancelAdaptActivity extends AppCompatActivity implements CancelAdapt {
    
    }
    
  3. 关于自定义view和一些顽固的界面适配的话,直接访问该网站有终极解决方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值