原文: http://blog.csdn.net/tanghongchang123/article/details/52982818

一、基本命令:

1、adb connect [ip]

2、 adb disconnect [ip]

3、adb uninstall [package]

4、.adb shell input text ****:用来输入文字的,在调试程序的时候,很多情况下要键入文字,手机输入方便,电视上,用遥控器按键盘非常麻烦的,可以用这个命令。

二、  焦点控制

1、控制控件是否可获得焦点

android:focusable="true/false"当这个属性置为true时,表示当前控件可以获得焦点,否则相反。也可以在程序中通过代码来设置:

v.setFocusable(true/false);

2、控制按遥控器上下左右时下一个获得焦点的控件

android:nextFocusUp="@+id/..."

android:nextFocusDown="@+id/..."

android:nextFocusLeft="@+id/..."

android:nextFocusRight="@+id/..."

以下是通过程序设置

v.setNextFocusUp(id);

v.setNextFocusDown(id);

v.setNextFocusRight(id);

v.setNextFocusRight(id);

3、TV分辨率的适配问题

如果适配不对,容易出现OOM(out of memory)问题。按现有TV情况,一般建议设置

drawable-sw1080dp

drawable-sw720dp

相应地,提供对应分辨率下的尺寸:

values-sw1080dp

values-sw720dp

比如同样的都是1080P,有的是32寸,有的是42寸。尺寸小,dpi高,使得图片会被压缩。在values文件里,可以使用dp、PIX,默认dpi是160。也可以考虑values采用PX验证一下。

4、阴影、倒影的程序实现(完全可以由美工实现,这里代码只作参考)

倒影原理:基本上就是将原图倒置,画在画布上,然后加上一个半透明的蒙版。

阴影效果:网上有很多讲阴影实现的教程,而这里实现的是在一个圆角矩形的图片四周加上阴影效果。实现办法是在原图四边加上矩形的阴影,然后在四个圆角的地方画扇形阴影来实现。

/**

* @author: sunnybaby

* @Title: createShadowBitmap

* @Description: 生成带阴影图片

* @param orignalBitmap:原图

* @param shadowMargin:阴影边宽

* @param iconCornerRadius:原图圆角半径

* @return :生成的带阴影图片

*/

public static Bitmap createShadowBitmap(Bitmap orignalBitmap,

int shadowMargin, int iconCornerRadius) {

int w = orignalBitmap.getWidth();

int h = orignalBitmap.getHeight();

Bitmap shadowBitmap = Bitmap.createBitmap(w + shadowMargin * 2, h

+ shadowMargin * 2, Config.ARGB_8888);

int width = shadowBitmap.getWidth();

int height = shadowBitmap.getHeight();

Canvas canvas = new Canvas(shadowBitmap);

canvas.drawBitmap(orignalBitmap, shadowMargin, shadowMargin, null);

Paint paint = new Paint();

paint.setXfermode(new PorterDuffXfermode(Mode.DST_OVER));

int radius = shadowMargin + iconCornerRadius;

// 四个边的阴影效果,采用线性阴影,宽度等于阴影边距+圆角半径

LinearGradient leftGradient = new LinearGradient(radius, 0, 0, 0,

0x7F000000, 0x00000000, TileMode.CLAMP);

LinearGradient rightGradient = new LinearGradient(width - radius, 0,

width, 0, 0x7F000000, 0x00000000, TileMode.CLAMP);

LinearGradient topGradient = new LinearGradient(0, radius, 0, 0,

0x7F000000, 0x00000000, TileMode.CLAMP);

LinearGradient bottomGradient = new LinearGradient(0, height - radius,

0, height, 0x7F000000, 0x00000000, TileMode.CLAMP);

paint.setShader(leftGradient);

canvas.drawRect(0, radius, radius, height - radius, paint);

paint.setShader(rightGradient);

canvas.drawRect(width - radius, radius, width, height - radius, paint);

paint.setShader(topGradient);

canvas.drawRect(radius, 0, width - radius, radius, paint);

paint.setShader(bottomGradient);

canvas.drawRect(radius, height - radius, width - radius, height, paint);

// 四个角的阴影效果,采用圆形阴影,半径等于阴影边距+圆角半径

RadialGradient topLeftCornerGradient = new RadialGradient(radius,

radius, radius, 0x7F000000, 0x00000000, TileMode.CLAMP);

RadialGradient topRightCornerGradient = new RadialGradient(width

- radius, radius, radius, 0x7F000000, 0x00000000,

TileMode.CLAMP);

RadialGradient bottomLeftCornerGradient = new RadialGradient(radius,

height - radius, radius, 0x7F000000, 0x00000000, TileMode.CLAMP);

RadialGradient bottomRightCornerGradient = new RadialGradient(width

- radius, height - radius, radius, 0x7F000000, 0x00000000,

TileMode.CLAMP);

// 画四个角,就是画四个圆心角为90度的扇形,drawArc函数第一个参数为圆弧所在圆的的外接矩形,第二个参数为起始角度,第三个参数为扇形顺时针滑过的角度,第四个参数如果为true时,在绘制圆弧时将圆心包括在内(用来画扇形),第五个参数为画笔

paint.setShader(topLeftCornerGradient);

canvas.drawArc(new RectF(0, 0, radius * 2, radius * 2), 180, 90, true,

paint);

paint.setShader(topRightCornerGradient);

canvas.drawArc(new RectF(width - radius * 2, 0, width, radius * 2),

270, 90, true, paint);

paint.setShader(bottomLeftCornerGradient);

canvas.drawArc(new RectF(0, height - radius * 2, radius * 2, height),

90, 90, true, paint);

paint.setShader(bottomRightCornerGradient);

canvas.drawArc(new RectF(width - radius * 2, height - radius * 2,

width, height), 0, 90, true, paint);

return shadowBitmap;

}

android 机顶盒 系统开发入门,读《Android电视机(机顶盒)初次开发的一些经验分享》后的笔记...相关推荐

  1. 如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习)

    如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习)_转 来源:www.armjishu.com 作者:jesse 转载请注明出处 首先,如果你有幸看到这篇文章,千万不要试图在2个小时内阅读完 ...

  2. Android开发入门教程--Android应用程序结构分析

    2019独角兽企业重金招聘Python工程师标准>>> 一.新建HelloWorld项目: 1.打开Eclipse,点击"File"->"New& ...

  3. 安装windows和android双系统,安装Windows和Android双系统.doc

    安装Windows和Android双系统 轻松搞定Windows和Android双系统 前言:本文介绍在windows操作系统的基础上安装Android,并且正常引导双系统启动.采用先添加启动项,后安 ...

  4. android隐藏系统ui_如何启用Android的“系统UI调谐器”以访问实验功能

    android隐藏系统ui Starting with Marshmallow, Google included a new hidden settings menu with experimenta ...

  5. android调用系统音频播放器,Android使用Service实现简单音乐播放实例

    Service翻译成中文是服务,熟悉Windows 系统的同学一定很熟悉了.Android里的Service跟Windows里的Service功能差不多,就是一个不可见的进程在后台执行. Androi ...

  6. 游戏开发入门(十二)游戏开发全总结

    通过游戏开发入门系列的学习,是不是对游戏开发有了一个比较清晰的认识? 在最后一篇里面,博主试着概括性的对游戏开发做一个总结,欢迎各位提出意见来完善这篇博客~ 游戏模块总结: 游戏逻辑模块系统:各种武器 ...

  7. 基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门(TI达芬奇双核开发资料 [

    基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 一.简介 TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核.本文要介绍的 ...

  8. 锤子m1 android 7,Smartisan 锤子 M1L 入手两日感受和DIY换背盖经验分享

    Smartisan 锤子 M1L 入手两日感受和DIY换背盖经验分享 2016-10-24 14:49:08 51点赞 43收藏 57评论 之前发了Smartisan M1l的开箱,发表了一些自己的看 ...

  9. 如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习,来自STM32神舟系列开发板设计师的总结)

    转载: 来源:www.armjishu.com 作者:jesse 我的另一篇文章:<STM32嵌入式入门必看之文章-----介绍非常详细!(学STM32的理由!!!!)>http://ww ...

  10. 【小白】【大学】一名嵌入式软件开发小白的单片机学习历程、心路历程、经验分享

    我的嵌入式学习之路 我为什么写这篇文章 先简单介绍一下我自己 与每一个技术小白共勉 这篇文章写给谁 我的学习经验分享 我的成长之路 我的单片机学习历程分享 51系列单片机学习历程 预备知识:(可以查百 ...

最新文章

  1. 编程之美2.2 不要被阶乘吓倒
  2. 如果刘华强是个码农...
  3. 从Proxy到Vue3数据绑定
  4. php div中的字上下居中,Div垂直居中效果怎么实现
  5. cmd运行php文件以及环境配置出现的问题、 php.exe不是内部或外部命令,也不是可运行的程序 或批处理文件、PHP startup: Unable to load dynamic library
  6. 论文投稿新规则,不用跑出SOTA,还能“内定”发论文?!
  7. JS的typeof力所能及已经力所不及
  8. mybatis查询树形数据的两种方法
  9. 计算机硬盘模式,Win7系统将电脑BIOS硬盘模式修改为ahci模式的具体方法
  10. 文本挖掘之情感分析在网络视频弹幕的应用 ——以《都挺好》弹幕数据为例
  11. Android-SEAndroid权限问题指南
  12. 纳米材料与技术类毕业论文文献有哪些?
  13. Pois-son blending
  14. ElasticSearch 索引创建
  15. 浅浅瞅瞅RSA-PSS 算法
  16. 数据挖掘与R分析——京东某鞋类店铺售后评论
  17. BZOJ4735 你的生命已如风中残烛(组合数学)
  18. notion 科研_科研新手全面入坑指南
  19. nested exception is java.lang.NoClassDefFoundError
  20. 03 Hadoop(HDFS)

热门文章

  1. 计算机安装与维修 等级,电脑升级究竟要怎么升级?维修多年的老师傅说出其中答案!...
  2. PCB设计中焊盘的种类,你都见过几种?
  3. 本科、硕士、博士,究竟有何区别?
  4. 为什么需要这么多编程语言?
  5. python 画布 保存_Python Tkinter使用PIL将画布保存为图像
  6. centos7不识别固态硬盘_固态硬盘分区与不分区哪个好【详细介绍】
  7. python大数据后期教学_大数据处理之道(十分钟学会Python)
  8. 网络安全07-Wireshark下载安装基本使用(抓个简单的包)
  9. 把mysql某一列求和_Laravel 对某一列进行筛选然后求和sum()的例子
  10. j.u.c系列(11)---之并发工具类:Exchanger