由于要做日历开发渐进教程(5)而(5)Φ要完成一个功能:点击任意一天时,高亮显示目标日期
这个功能显然需要用到focus实现,然后就去查有focusable和focusableInTouchMode,现在搞明白了一些写下自巳的理解,希望你能帮助大家吧
通过搜索,在stackoverFlow上找到了两个答案基本解决了我的疑惑。
关于焦点是什么的问题
类似非触屏手机时代,需要使用键盘的上下左右去选中某个应用然后点击确定执行。而触屏手机我们只需要对应用点击一次,即可无需焦点。也就是会所焦点是为了标记你目前选中的位置的而这个在日历中却是有用的。
前者针对在键盘下操作的情况如果设置为true,则键盘上下左右选中焦点会随之移动。
而后者显然是针对触屏情况下的,也就是我们点击屏幕的上的某个控件时不要立即执行相应的点击逻辑,而是先顯示焦点(即控件被选中)再点击才执行逻辑。
但请记住一点就是对于现在触屏时代的手机而言,如果要获取焦点我们只需要设置
所有的获取焦点,都要有一个前提那就是该控件必须设置android:clickable=”true”,如果都点击不了,设置焦点应该没什么意义了吧
在后续的日历开发中有對focusableInTouchMode的应用,大家可以看到