美文网首页
Android TV Item 选中 放大

Android TV Item 选中 放大

作者: 不会弹钢琴de大叔 | 来源:发表于2024-01-03 11:06 被阅读0次

在机顶盒项目中,需要根据列表获取焦点将其扩大显示

step1 在RecycleView的父类添加以下两个属性,防止被挡住

android:clipChildren="false"
android:clipToPadding="false"

step2 在adapter中,监听最外层view focus事件

      baseViewHolder.itemView.setOnFocusChangeListener((v, hasFocus) -> {
            float scaleX = hasFocus ? 1.15f : 1f;
            float scaleY = hasFocus ? 1.15f : 1f;
            AnimationUtils.focusScale(v, scaleX, scaleY);
        });

step3 AnimationUtils

import android.view.View;

import androidx.core.view.ViewCompat;

public class AnimationUtils {

    public static void focusScale(View view, float scaleX, float scaleY) {
        ViewCompat.animate(view)
                .scaleX(scaleX)
                .scaleY(scaleY)
                .translationZ(1)
                .start();
    }
}

相关文章

网友评论

      本文标题:Android TV Item 选中 放大

      本文链接:https://www.haomeiwen.com/subject/jjgmndtx.html