美文网首页
TV端-焦点获取简单理解

TV端-焦点获取简单理解

作者: 沫沫么么哒Die | 来源:发表于2018-06-25 16:51 被阅读127次

    本文只涉及最简单的一些跟焦点有关的知识,包括setClickable、setEnabled、setFocusable、requestFocus 四个控件

    一·setClickable
    1.设置为true时,表明控件可以点击
    2.设置为false时。表明不能点击;点击适用于鼠标,键盘按键,遥控器等
    3.SetOnClickListener方法会默认把控件的setClickable设置为true

    二·setEnabled 使能控件
    1.设置为false,该控件永远不会活动,不管设置为什么属性都无效
    2.设置为true,表明激活该控件,控件处于活动状态,能响应事件;比如触摸,点击,按键事件等
    3.相当于总开关一样,只有总开关打开,才能使用其他事件

    三·setFocusable 使能控件
    1.设为true时,具备获得焦点的机会,能力,并不是说立刻获得焦点

    四·requestFocus
    1.设置是否获得焦点,也就是说请求立刻得到焦点

    五· setFocusable和requestFocus的对比

    1.焦点获取的区别
    setFocusable 是具备获得焦点的能力
    requestFocus 是立刻获得焦点

    2.使用
    setFocusable 当我们要设置某个控件的焦点监听事件时要设置setFocusable为true,否则可能会出现onFocusableChangeListener监听不到的情况

    xxx.setFocusable(true);
    xxx.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                   //获得焦点
                   } else {
                   }
            }
        });
    }
    

    requestFocus 一般是用在onKeyDown方法中,用来判断焦点移动后哪一个控件获得焦点

    if(this.getCurrentFocus() == xxx){
         if(keyCode == KeyEvent.KEYCODE_DPAD_DOWN){
              xxx02.requestFocus();
              return true;
          }
    }
    

    以上就是我接触到的最基本的使用,记录一下

    相关文章

      网友评论

          本文标题:TV端-焦点获取简单理解

          本文链接:https://www.haomeiwen.com/subject/nbmyyftx.html