Android界面开发详解

UI是一个应用程序的脸面,一个应用程序要想用户喜爱,UI不能差。Android界面开发尽量用parent_width等抽象长度,用Theme来定制风格,抽取所有的字串进行本地化设计。设计Android的界面要先定框架,然后再往框架里放控件。Android界面通常使用View和ViewGroup控件配xml样式来进行设计。


View是一个存储有屏幕上特定的一个矩形布局和内容属性的数据结构。可以处理测距、布局、绘图、焦点变换、滚动条,以及屏幕区域自己表现的按键和手势。View为Widget服务。Widget是一组用于绘制交互屏幕元素的完全实现子类。Widget处理自己的测距和绘图。Widget包括TextView, EditText, Button, RadioButton, Checkbox和ScrollView等。


ViewGroup的功能是装载和管理一组下层的View和ViewGroup。ViewGroup为Layout服务。Layout是一组提供屏幕界面通用类型的完全实现子类。Layout可以为一组View构建结构。当Activity被激活并且获得焦点时,系统会通知Activity并且请求根节点测距并绘制树,根节点就会请求它的子节点去绘制它们自己。每个ViewGroup都有测量它的有效空间、布局它的子对象并且调用每个子对象的draw()方法去绘制他们自己。子对象可能会请求它们在父对象中的大小和位置。父对象对每个子对象的大小和位置有最终的决定权。


事件Event就是用户和UI交互时所触发的操作。在Android中,事件被传送到事件处理器。事件处理器专门接受事件对象并对其进行翻译和处理。实现与用户交互功能的控件都需要通过事件来处理,需要指定控件所用的事件监听器。View同时可以响应按键和触屏两种事件包括:onKeyDown, onKeyMultiple, onKeyUp, onTouchEvent等。


每个键都对应一个键值。可以根据需要来改变一些键的功能,需要自己构建KeyEvent对象。

举例:改变所有按键的功能都为返回键功能。

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    	KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
    	return super.onKeyDown(keyEvent.getKeyCode(), keyEvent);
    }

在这里只使用KeyEvent(int action, int code)方法来构造KeyEvent对象。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值