首页 > 代码库 > Android TV 选中高亮显示

Android TV 选中高亮显示

1、开发Android TV APP, 使用遥控器选中按钮或者选着其它菜单

如果没有高亮显示,就看不出选中哪个按钮或者菜单

2、在drawable 添加 border_red.xml 设置选中高亮

技术分享
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="2dp"/>
    <stroke
        android:color="#FF0000"
        android:width="3dp" />
    <solid android:color="#00FF0000" />
</shape>
View Code

3、在 layout 添加页面xml

技术分享
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <RelativeLayout
        android:focusable="false"
        android:gravity="center"
        android:layout_gravity="center"
        android:clipToPadding="false"
        android:clipChildren="false"
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/button_id_1"
            android:layout_width="match_parent"
            android:gravity="center"
            android:layout_height="wrap_content"
            android:background="#303F9F"
            android:focusableInTouchMode="true"
            android:textColor="#FFF"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="0dp"
            android:text="按钮"
            android:textSize="60dp"
            />

        <Button
            android:id="@+id/button_id_2"
            android:layout_below="@id/button_id_1"
            android:layout_width="match_parent"
            android:gravity="center"
            android:layout_height="wrap_content"
            android:background="#303F9F"
            android:focusableInTouchMode="true"
            android:textColor="#FFF"
            android:text="按钮"
            android:layout_marginTop="30dp"
            android:textSize="60dp"
            />

        <Button
            android:id="@+id/button_id_3"
            android:layout_width="match_parent"
            android:gravity="center"
            android:layout_height="wrap_content"
            android:background="#303F9F"
            android:layout_below="@id/button_id_2"
            android:focusableInTouchMode="true"
            android:textColor="#FFF"
            android:text="按钮"
            android:layout_marginTop="30dp"
            android:textSize="60dp"
            />

    </RelativeLayout>
</LinearLayout>
View Code

 4、添加选中高亮显示,设置焦点控制

技术分享
  BorderView border = new BorderView(this);
        border.setBackgroundResource(R.drawable.border_red);

        main = (RelativeLayout) findViewById(R.id.main);
        border.attachTo(main);
View Code

 

Android TV 选中高亮显示