美文网首页
Android TV 焦点选中放大动画

Android TV 焦点选中放大动画

作者: 橙果子 | 来源:发表于2020-11-06 14:25 被阅读0次

    github源码地址 https://github.com/xiangfenr/TVAmplification

    放大效果如图

    一.新建TV项目,或者别的项目添加TV识别也行

     <!--AndroidManifest.xml 中标记为电视应用 -->
        <uses-feature
            android:name="android.hardware.type.television"
            android:required="true"></uses-feature>
    
        <uses-feature
            android:name="android.hardware.touchscreen"
            android:required="false" />
        <uses-feature
            android:name="android.software.leanback"
            android:required="true" />
    

    二.添加drawable 焦点选中样式

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!--是否取得焦点,比如用户选择了一个文本框。-->
        <item android:drawable="@mipmap/imgchecked" android:state_focused="true" />
        <item android:drawable="@mipmap/imgdefault" android:state_focused="false" />
    </selector>
    
    

    三. xml样式设置

     <ImageView
                android:id="@+id/imageBtn1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="30dp"
                android:focusable="true"
                android:src="@drawable/banner1_clicked"
                android:tag="imageBtn1" />
    

    四. java代码编写,添加Focus焦点监听,利用ImageView的 setScaleX,setScaleY设置放大

    也可以自己编写一个属性动画

      imageView.setOnFocusChangeListener((view, b) -> {
                    Log.e("xf", "initEvent: " + view.getTag().toString() + " focus = " + b);
                    if (b) {
                        view.setScaleX(1.4f);
                        view.setScaleY(1.4f);
                        imageView.bringToFront(); //此属性是将view添加到最上层
                    } else {
                        view.setScaleX(1.0f);
                        view.setScaleY(1.0f);
                    }
                });
    

    相关文章

      网友评论

          本文标题:Android TV 焦点选中放大动画

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