【问题标题】:Default outline for every view element on D-PAD TV focusD-PAD TV 焦点上每个视图元素的默认轮廓
【发布时间】:2019-11-23 15:54:38
【问题描述】:

是否可以为每个视图/可绘制对象设置某种默认轮廓以支持 Android TV 用户的焦点?到目前为止,我发现我必须创建额外的布局,如official documentation中所述

但是我不想为我设计中的每个视图创建一个单独的文件,因为它是自定义的,需要添加

很多文件,但假设它是默认的黄色边框,那么我对此非常满意。

【问题讨论】:

    标签: android android-tv


    【解决方案1】:

    您可以制作带有彩色边框的可绘制对象 -

    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="@android:color/transparent"/>
        <stroke android:width="2dp" android:color="@color/light_pink" />
        <corners android:radius="3dp"/>
        <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
    </shape>
    

    并且在 View 的 setSelected 回调中 -

    @Override
    public void setSelected(boolean selected) {
        super.setSelected(selected);
        if (selected) {
            mViewLayout.setBackground(getResources().getDrawable(R.drawable.view_background_focused));
        } else {
            mViewLayout.setBackground(getResources().getDrawable(R.drawable.view_background));
        }
    }
    

    视图未聚焦时的view_background文件与view_background_focused文件相同,只是笔画宽度为0。

    【讨论】:

      猜你喜欢
      • 2012-02-29
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      相关资源
      最近更新 更多