AndroidTV Leanback库的默认导航缩放比例使矢量可绘制边缘划伤,锯齿状,难看

问题描述

在leanback主网格中的Viewholder内部插入VectorDrawable图形,使它们在聚焦时看起来很难看。有一些无法解决的缩放问题。

以下是正常应用中的简单示例:

ic_vawe.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="986.5dp"
    android:height="87.27dp"
    android:viewportWidth="986.5"
    android:viewportHeight="87.27">
  <path
      android:fillColor="#FF000000"
      android:pathData="M464.46,86.61c-24.27,0.49 -63.93,0.66 -62,0.66h584V26.68C716.37,26.72 694.13,78.17 464.46,86.61Z"
      android:strokeAlpha="0.5"
      android:fillAlpha="0.5"/>
</vector>

Activity.kotlin

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var iv = this.findViewById<ImageView>(R.id.imageView_1);
        var d3 = ContextCompat.getDrawable(this,R.drawable.ic_wave);
        iv.setimageDrawable(d3);

        iv.setonClickListener {
            iv.scaleY = iv.scaleY + 0.6F;
        }
    }
}

布局

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView_1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

在即时缩放此向量时,我得到了那些破碎的边缘(看视频):

android_simple_example

在具有与导航相关的缩放比例的AndroidTV Leanback库中导航时,该行为非常明显。图像仅在一种状态下才清晰。请看那些难看的边缘:

ATV_REAL_LIFE_EXAMPLe

请帮我在Android TV项目中平滑VectorDrawables的边缘。你有什么主意吗?

解决方法

请尝试使用PNG图片代替xml drawables。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...