在机顶盒项目中,需要根据列表获取焦点将其扩大显示
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();
}
}
网友评论