安卓TV开发(四) 实现主流智能TV视频播放器UI

本文介绍了如何在安卓TV上实现主流视频播放器的UI设计,包括焦点控制、方向键模拟鼠标操作,以及如何创建FocusItemModel和TvModel来处理数据。通过示例代码展示了在Activity中初始化并添加子视图的过程,为实现遥控器控制的上下左右移动效果奠定了基础。文章还提及了兼容手机和TV版本时可能遇到的问题,以及后续将整合第三方视频框架完成一个简易TV视频播放器的计划。
摘要由CSDN通过智能技术生成

    前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验上有很大的区别,本系列博文主要用TV播放器的实现去了解下在智能设备上的开发一个app的流程,实现遥控器控制焦点移动,方向键模拟鼠标,并在线完成视频直播,手机当遥控器使用等相关功能。其实此UI也适用于车载设备。

    上一篇中 安卓TV开发(三) 实现主流TV视频播放器UI 初步学习了智能电视上UI的设计,且只实现了一个遥控器可控制的view父框架,但是里面的item还没有写完,至于怎么调用显示和运用我们今天就接着学习吧,

本文出处:http://blog.csdn.net/sk719887916


    在FocusView中需要添加一个FocusItemModle 用于填充父布局,这个FocusItemModle 类似grideView中itemview一样,我们可以这么理解,现在我们就定义一个FocusItemModle 类,代码如下:

public class FocusItemModle {
	private View mFocusView = null;
	/**
	 * 起点行数
	 */
	private int mRow = 0;
	/**
	 *  view占据行数
	 */
	private int mRowSpan = 1;
	/**
	 * 起点列数
	 */
	private int mCol = 0;
	/**
	 * View占据列数
	 */
	private int mColSpan = 1;

	/**
	 * @param v
	 * @param row
	 * @param col
	 */
	public FocusItemModle(View v, int row, int col) {
		this(v, row, 1, col, 1);
	}

	/**
	 * @param v
	 * @param row
	 * @param rowspan
	 * @param col
	 * @param colspan
	 */
	public FocusItemModle(View v, int row, int rowspan, int col, int colspan) {
		mFocusView = v;

		setPosition(row, col);

		if (rowspan < 1)
			throw new IllegalArgumentException("rowspan < 1");
		mRowSpan = rowspan;

		if (colspan < 1)
			throw new IllegalArgumentException("colspan < 1");
		mColSpan = colspan;
	}

	public View getMetroView() {
		return mFocusView;
	}

	public int getRow() {
		return mRow;
	}

	public int getRowSpan() {
		return mRowSpan;
	}

	public int getCol() {
		return mCol;
	}

	public int getColSpan() {
		return mColSpan;
	}

	public void setPosition(int row, int col) {
		if (row < 0)
			throw new IllegalArgumentException("row < 0");
		mRow = row;

		if (col < 0)
			throw new IllegalArgumentException("col < 0");
		mCol = col;
	}

   此item主要控制focusVi
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值