Android学习札记一:初涉View(1)

在View的学习中,借鉴以往JavaME的经验,这里首先把它们使用到的一些类、方法等简单做下类比:

Android-->JavaME

View-->Canvas

Canvas-->Graphics

onDraw(Canvas canvas)-->paint(Graphics g);

.

.

.

好,为直观起见,先呈出效果图

 

 

ViewMain类代码

 

 

 

在绘制UI上,须重写onDraw方法,第一点比较奇怪,在屏幕高、宽的获取上getWidth(),getHeight()写在构造函数中竟然无法获取,也就是说取值为0。那看来必须将其写入到onDraw中。第二点比较奇怪的就是关于锚点的问题,发觉Android中在draw的方法中如drawText("Hello!麦田守望者", 0, 20, paint),没有锚点,“默认的”把"Hello!麦田守望者"的左下角绘制在坐标(0,20)上,这一点感觉做的不如JavaME。

关于按键响应,我起初疑惑,有onKeyUp()、onKeyDown()怎么偏偏没有onKeyLeft()、onKeyRight()?翻阅相关文档才发现onKeyUp()、onKeyDown()指的是按钮被抬起,按下时的响应,而不是指方向键的的四个方向。这里我只重写了onKeyDown方法,即按键被按下时的响应函数。这里,也就相当于JavaME中的keyPressed()和keyReleased()。android手机的一个重要特点是其屏幕很大,几乎都支持触摸屏,稍微遗憾一点,触摸屏的实现稍后的学习中再讲了。

关于按钮响应,千万不要忘记调用this.postInvalidate(),有过JavaME经验的人就会知道,这也就有点相当于repaint()、serviceRepaints()以及flushGraphics()等方法。最后重要的一点,并不是说重写了onKeyDown()就可以做出响应的,还需有个“绑定”,即setFocusable(true)。

暂时先讲到这,墨水有限,继续蘸墨!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值