Android怎么解决不同版本SDK的兼容性问题

前言

Android的SDK有很多级别,一般高版本的SDK是无法在低版本的安卓系统上面执行的,更甚者容易导致安卓应用崩溃。

简单粗暴的解决方法自然是更换更高级别的SDK了,不过如果这么做,也就不存在需要解决兼容性的问题,如何在低版本上安卓系统上运行高版本的SDK,又满足Android Lint的编译检查需求呢?

接下来我们以按钮的动画效果为例。

在这里插入图片描述

从图中可以看到,Animator的使用要求SDK的等级为21以上,即至少要求lollipop版本的SDK。

其实我们只需要加一个判断条件,就通过Android Lint的编译检查:

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP)

该语句判断了当前SDK的版本是否大于lollipop,如果当前系统版本是高于指定版本的,则运行动画效果,否则简单的将按钮设为不可见即可。

button1.setVisibility(View.INVISIBLE);

完整代码

button1=findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
                int cx=button1.getWidth()/2;
                int cy=button1.getHeight()/2;
                float radius=button1.getWidth();
                Animator anim= ViewAnimationUtils.createCircularReveal(button1,cx,cy,radius,0);
                anim.addListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animation) {
                        super.onAnimationEnd(animation);
                        button1.setVisibility(View.INVISIBLE);
                    }
                });
                anim.start();
                }else{
                    button1.setVisibility(View.INVISIBLE);
                }
            }
        });
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值