Android TV listview及焦点处理
发布时间 - 2026-01-11 01:51:56 点击率:次Android TV listview及焦点处理

Android TV上的listview ,因为没有touch事件,只能通过按键处理,因此,用到listview时需要特殊处理:
1.复杂的view需要获取焦点,需要设置:
setItemsCanFocus(true)
同时需要设置下能获取焦点view的属性:
android:focusable="true
这样子级view就可以获取获取焦点。
2.view中需要获取焦点需要高亮框效果,可以在view画外框:
package com.cn21.ecloud.tv.ui.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.RelativeLayout;
public class SelectedRelativeLayout extends RelativeLayout{
private Drawable mFloatDrawable;
private Rect mTempRect = new Rect();
public SelectedRelativeLayout(Context context) {
this(context, null, 0);
}
public SelectedRelativeLayout(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public SelectedRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mFloatDrawable = getResources().getDrawable(R.drawable.item_float_rectangle);
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
if (hasFocus()) {
if (mFloatDrawable != null) {
final int w = getMeasuredWidth();
final int h = getMeasuredHeight();
mFloatDrawable.getPadding(mTempRect);
mFloatDrawable.setBounds(-mTempRect.left, -mTempRect.top,
w + mTempRect.right, h + mTempRect.bottom);
mFloatDrawable.draw(canvas);
}
}
}
}
布局中直接使用这个view
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# TV
# listview及焦点处理
# listview
# Android基于TextView不获取焦点实现跑马灯效果
# Android 实现不依赖焦点和选中的TextView跑马灯
# android tv列表焦点记忆实现的方法
# 希望能
# 谢谢大家
# 这样子
# 使用这个
# 就可以
# 时需
# package
# ecloud
# 画外框
# import
# drawable
# 高亮
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
怎样使用JSON进行数据交换_它有什么限制
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
Laravel如何使用.env文件管理环境变量?(最佳实践)
高防服务器:AI智能防御DDoS攻击与数据安全保障
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
Laravel如何使用模型观察者?(Observer代码示例)
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
如何挑选优质建站一级代理提升网站排名?
如何将凡科建站内容保存为本地文件?
iOS中将个别页面强制横屏其他页面竖屏
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
如何用花生壳三步快速搭建专属网站?
详解vue.js组件化开发实践
南京网站制作费用,南京远驱官方网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Python正则表达式进阶教程_复杂匹配与分组替换解析
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
教你用AI润色文章,让你的文字表达更专业
高端网站建设与定制开发一站式解决方案 中企动力
如何为不同团队 ID 动态生成多个独立按钮
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
三星、SK海力士获美批准:可向中国出口芯片制造设备
C语言设计一个闪闪的圣诞树
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
如何快速打造个性化非模板自助建站?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Laravel怎么实现验证码(Captcha)功能
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
网站图片在线制作软件,怎么在图片上做链接?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Android实现代码画虚线边框背景效果
如何在腾讯云服务器快速搭建个人网站?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
Java遍历集合的三种方式
如何用PHP快速搭建高效网站?分步指南
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
太平洋网站制作公司,网络用语太平洋是什么意思?
如何用低价快速搭建高质量网站?
想要更高端的建设网站,这些原则一定要坚持!
专业商城网站制作公司有哪些,pi商城官网是哪个?
图册素材网站设计制作软件,图册的导出方式有几种?
JS经典正则表达式笔试题汇总

