【发布时间】:2019-11-23 15:54:38
【问题描述】:
是否可以为每个视图/可绘制对象设置某种默认轮廓以支持 Android TV 用户的焦点?到目前为止,我发现我必须创建额外的布局,如official documentation中所述
但是我不想为我设计中的每个视图创建一个单独的文件,因为它是自定义的,需要添加
很多文件,但假设它是默认的黄色边框,那么我对此非常满意。
【问题讨论】:
标签: android android-tv
是否可以为每个视图/可绘制对象设置某种默认轮廓以支持 Android TV 用户的焦点?到目前为止,我发现我必须创建额外的布局,如official documentation中所述
但是我不想为我设计中的每个视图创建一个单独的文件,因为它是自定义的,需要添加
很多文件,但假设它是默认的黄色边框,那么我对此非常满意。
【问题讨论】:
标签: android android-tv
您可以制作带有彩色边框的可绘制对象 -
<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。
【讨论】: