Creating User Interfaces
整个第四章讲的是如何建立一个用户的应用界面。对于一个手机的程序来说,往往一个界面的好坏可以决定一个程序是否成功。但是也有例外,APNdroid就是一例。没有任何界面的这个小程序可以说是我手机上使用频率最高的一个程序了。
从书上的分类来说,组成一个用户界面的有很多东西。其中有view,viewgroup还有Widget,忘了还有一个layout。但是他们都是一个view的子类。就好像java中的container的作用。
在书中分别介绍了几个例子。我就例子来讲吧。
第一个是还是Todolist。想想这个的最终版本是否可以直接拿到market上面去卖呢?
其实这个例子只是讲了如何通过xml文件来进行配置。同时提供了一个制作widget的范例。通过这个widget的范例。
在这个范例中,作者制作了一个TodoListItemView的东西。完全通过拼装现有的widget,然后在xml里面配置其相关的属性。从这可以明白,其实widget只是一种特殊的view
不过看到这里,我产生了一个问题。就是文件的管理问题。如果说我做了一个新的widget。是否会让在layout中的文件变得混乱?其实这估计是一直会有的问题吧。因为我试了一下。好像layout文件夹下面如果添加子文件夹会混乱不堪。
还有一个就是inflate方法。这个方法是填充的意思。很形象。不过对于其中的参数,我不是很了解。至少是第三个参数为false的时候,有什么特别。我搞不清楚。
第二个是画了个指南针。其实Market上面有一个叫做Compass的app,不知道之后是否会丰富这个应用呢?
其实这个例子无非就是画图。了解了如何测量和画图
OnMeasure方法。这个方法传入两个int参数。说句实话。对于两个参数我觉得很莫名,因为它是一个带有对象性质的原始数据。在通过MeasureSpec解析之后,能够得到两个信息。一个是Mode,另一个则是其对应的长和宽的大小。其中Mode分为两种。the maximum space available for the control (in the case of AT_MOST), or the exact size that your control will occupy (for EXACTLY)。关于这个我觉得有点莫名。为什么不把这些分装成对象?为了性能的原因?
Ondraw方法:其实这个方法相对来说很简单。记住了Canvas是笔,然后Paint是一个封装了style,color等信息的类。说难也难。因为其中的方法和技巧太多,而且做出来的东西,有时候需要的则是那么一点灵感。
事件处理:在这里。介绍的对于自己制作的widget使用的方法,就是重写对应的方法。但是我比较喜欢用监听器的方法。不过书中说了具体的在第11章介绍。这里也就不能说明白。
Menu:
菜单,Andorid的菜单无有3种。Icon menu,最基本的menu,就是按了menu健的出来的menu。The Expanded Menu。就是Icon menu放不下。按了More之后的 和submenu。之间的使用基本上书上写的很清楚。我也没必要重新写了。
分享到:
相关推荐
在这个"Android学习笔记三:第一个应用程序的扩充"中,我们将深入探讨如何扩展这个基础,以更好地理解和掌握Android应用开发的核心概念。 首先,Android Studio作为Google官方推荐的集成开发环境(IDE),是Android...
"Android学习笔记" Android学习笔记是Android开发者的必读书籍,书中涵盖了Android系统架构、Activity、Intent、资源管理等多方面的知识。本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中...
Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的跳转及传值 Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 ...
### Android开发学习笔记 #### Button按钮的实现与交互 在Android开发中,`Button`控件是最常用的用户界面元素之一,用于触发特定的操作或事件。本文档将详细讲解如何创建并自定义一个简单的按钮,并设置点击事件...
Android学习笔记(1)-永远不变的Hello World Google的Android SDK发布也有一段时间了,一直想研究一下却苦于找不到时间。利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的gPhone。 SDK的下载...
Android开发学习笔记(整理),整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、...
这篇学习笔记主要涵盖了关于布局的一些基本概念,特别是`fill_parent`和`wrap_content`这两种尺寸指定方式,以及如何通过XML布局文件来精确控制组件的位置。 首先,`fill_parent`和`wrap_content`是Android布局中的...
根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...
Android学习笔记全全整理,是针对想要深入理解并掌握Android开发技术的学习者们的一份宝贵资源。这份笔记涵盖了从基础到高级的多个方面,旨在帮助读者建立起完整的Android知识体系。以下将详细介绍其中可能包含的...
Android学习笔记整理.pdf
在Android应用开发中,"碎片"(Fragments)是一个关键的概念,它是在Android 3.0(API级别11)引入的,旨在增强用户界面的灵活性,特别是在平板电脑和其他大屏幕...通过实践和学习,你可以更好地掌握这一强大的工具。
本篇学习笔记主要涵盖了ArcGIS for Android的基础配置和核心组件MapVie的使用。 首先,配置ArcGIS for Android项目需要在`Project`级别的`build.gradle`文件中添加Esri的仓库,确保能获取到所需的库。接着,在`...
Android基础学习笔记主要涵盖了一系列关于Android开发的基本概念和关键组件,以下是这些知识点的详细解析: 1. **Activity**: 是Android应用程序的基本单元,它代表用户在屏幕上看到的一个界面。每个Activity都必须...
目录,整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、apdapter等几乎全部内容...