不知不觉入坑做电视两年多了,终于有时间停下来写点什么,希望对大家用用。

TV开发最大的特色是焦点和焦点动画。

由于电视机输入方式是按键,因此焦点很重要。焦点相当于选中效过果,只有被选中后,那个view才能被点击。

要想让一个view获取焦点,代码如下

  view.setFocusable(true);
  view.requestFocus();
  view的聚焦状态是可以监听的,
view.setOnFocusChangeListener(new View.OnFocusChangeListener() {@Override
    public void onFocusChange(View v, boolean hasFocus) {if(hasFocus){//v 获得焦点
        }else{//v 失去焦点
        }}
});
 一般焦点相关的效果都是这这个监听器里处理的,如当获取焦点时我让view变大,失去焦点的时候恢复正常大小。
   

完整代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    ><TextView
        android:id="@+id/select1"
        android:layout_width="200px"
        android:layout_height="300px"
        android:background="#f00"
        android:layout_centerVertical="true"
        android:layout_marginLeft="200px"
        android:text="菜单一"
        android:textSize="70px"
        android:gravity="center"
        android:focusableInTouchMode="true"
        ></TextView><TextView
        android:id="@+id/select2"
        android:layout_toRightOf="@+id/select1"
        android:layout_width="200px"
        android:layout_height="300px"
        android:background="#ff0"
        android:layout_centerVertical="true"
        android:layout_marginLeft="200px"
        android:text="菜单二"
        android:textSize="70px"
        android:gravity="center"
        ></TextView>
</RelativeLayout>
package com.example.administrator.myapplication;import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {View view,view2;@Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);view=findViewById(R.id.select1);view.setFocusable(true);//设置改view可以获得焦点
        view.requestFocus();//让该view取得焦点
        view.setOnFocusChangeListener(new View.OnFocusChangeListener() {@Override
            public void onFocusChange(View v, boolean hasFocus) {TextView textView= (TextView) v;if(hasFocus){//v 获得焦点
                    v.setScaleX(1.2f);v.setScaleY(1.2f);textView.setTextColor(Color.GREEN);}else{//v 失去焦点
                    v.setScaleX(1f);v.setScaleY(1f);textView.setTextColor(Color.BLACK);}}});view2=findViewById(R.id.select2);view2.setFocusable(true);view2.requestFocus();view2.setOnFocusChangeListener(new View.OnFocusChangeListener() {@Override
            public void onFocusChange(View v, boolean hasFocus) {if(hasFocus){//v 获得焦点
                    v.setScaleX(1.2f);v.setScaleY(1.2f);}else{//v 失去焦点
                    v.setScaleX(1f);v.setScaleY(1f);}}});}
}

android Tv盒子开发 焦点相关推荐

  1. android TV盒子开发心得(一)

    今天给大家介绍一下本人在开发android TV APP的时候所遇到的一些问题及心得体会,希望能帮助各位解决问题 首先,简单介绍一下TV开发和手机开发的不同之处: 1.我们在开发TV的时候,经常会遇到 ...

  2. 一步一步学习Android TV/盒子开发(一)

    写在前面的话: 本人做了几年的机顶盒和Android电视上的应用开发,写这些文章只是为了让初次接触大屏开发的同学能够快速上手. TV端因为没有触控操作,只有遥控操作,所以焦点处理.控制以及按键监听是其 ...

  3. android 开发tv盒子,一步一步学习Android TV/盒子开发(二)-Go语言中文社区

    TV.机顶盒开发调试不能像手机一样通过USB线连接调试,可通过ADB连接调试 连接电视 adb connect 10.74.84.199 连接后就可以开始开发调试了! 断开连接 // 断开某个设备 a ...

  4. android TV盒子开发遥控器按键的监听

    代码如下: public class MainActivity extends Activity {private String TAG="key";@Overrideprotec ...

  5. Android TV机顶盒开发总结

    写在前面 前几天看了LOL洲际赛.好久没赢的LPL赢了,嗯对,抗韩成功了,心血澎拜到想写篇大作.然而总感觉怪怪的,想想算了吧.当LetMe传送拆塔偷掉对方基地的时候,解说忍不住哭了.是的,LPL太需要 ...

  6. Android TV UI开发常用知识

    导入依赖 Google官方为Android TV的UI开发提供了一系列的规范组件,在leanback的依赖库中,这里介绍一些常用的组件,使用前需要导入leanback库. implementation ...

  7. [译]MediaSession MediaController – Android TV 应用开发教程九

    版权声明:本文为博主原创翻译文章,转载请注明出处. 推荐: 欢迎关注我创建的Android TV 简书专题,会定期给大家分享一些AndroidTv相关的内容: www.jianshu.com/c/37 ...

  8. android tv盒子 主界面,设计规范 | 详解Android TV用户界面设计

    文章对比电视界面,从主屏幕和应用程序两个方面对Android TV的用户界面设计进行了详细梳理,与大家分享. 与移动端设备不同,用户一般在3米外使用电视.因此电视界面设计上需要大而漂亮,要有合适的布局 ...

  9. android+tv盒子+主界面,x96max+ 盒子 与 CoreELEC系统配置(三)AndroidTV刷机记录

    x96max+ 盒子 与 CoreELEC系统配置(三)AndroidTV刷机记录 2020-03-19 22:05:49 39点赞 211收藏 59评论 本文简要记录一下AndroidTV的刷机过程 ...

最新文章

  1. 央行官员:强化虚拟货币监管 遏制境外发币行为
  2. 【讨论】新一轮互联网的泡沫即将破灭,大量低级别的码农将被淘汰
  3. Java RandomAccessFile writeBytes()方法与示例
  4. MySQL 如何利用一条语句实现类似于if-else条件语句的判断
  5. C4.5和CART决策树对比
  6. 中班音乐计算机反思,幼儿园音乐活动反思10篇
  7. 精选150道iOS面试题
  8. 卡方检验的统计量推导_卡方检验如何计算?
  9. Pytorch创建多任务学习模型
  10. 十位语言大师给你的英语学习建议
  11. 文件名依照字符串和数字进行排序
  12. Android简单的布局优化
  13. 用计算机谈狂狼,抖音狂狼原唱是谁 抖音狂狼完整版歌词
  14. 我将进化成一条狗(5)——VR和AR
  15. 三全食品安全阴云未散:京东自营店未公示生产许可证
  16. 追剧还能得红包 《欢乐颂2》五美邀你来“抢”搜狗搜索现金大礼
  17. CPU性能由主频决定吗?
  18. 日本語:日常会话9-居酒屋へ見に行こう
  19. 想考个在职研究生学位,IT方向,学校越牛越好的
  20. 【Windows编程】Dll的注入与调用

热门文章

  1. STMARL:用于合作交通灯控制的时空多智能体强化学习方法
  2. 【组网工程】cisco packet tracer 交换机组网
  3. 计算机桌面文件自动备份取消,电脑自动还原功能怎么取消-电脑自动还原功能的取消方法 - 河东软件园...
  4. 大学计算机基础实验报表五北理,北京理工大学实验报告表.docx
  5. Alibaba Sentinel 1.8.0流量控制软件新版本发布
  6. Java List遍历四种方式 Lambda表达式遍历
  7. Apktool回编时Invalid register. Must be between v0 and v15, inclusive..的解决办法
  8. 这2款Epub阅读器真好用
  9. stm32 f103c8t6系列之 iic模式 点亮096 oled
  10. Why won't MikuMikuDance load my AVI file background?