今天要讲的事情是构建安卓程序的UI界面。

首先给大家上点小点心,如图:

上面就是我们界面的设计模块,仔细看中间大块的下方,有一个Source,这就类似webform里面的设计和源代码界面。

在这个页面看到的都是一些类似xml标记性标签:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/MyButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/Hello" />
</LinearLayout>

首先,以我们平时开发桌面应用程序来说,首先winform是要将界面设计好。进入主题:

我们一般可以通过左边来拖控件来完成界面的设计。但是我感觉这个没有droiddraw-r1b22这款

界面设计软件方便。

通过拖好控件,可以对UI元素进行一些设置。当拖完控件,点击左上方generate就可以生成右下方的xml代码。

这里需要注意,这里的xml不会自动更新,所以需要点击generate按钮来创建更新的代码。

安卓界面的5种控件布局:

AbsoluteLayout这种布局是将所有的控件放在所定义的位置。根据我查的资料显示,现在并不推荐使用这样的布局。

FrameLayout是显示一个单一项,比如一个图片等等。

LinearLayout沿单一的水平线或者垂直线显示子控件。

RelativeLayout将控件放在相对于其他控件的特定位置。

TableLayout使用行/列式布局来显示控件。

这五种布局,最常用的是FrameLayout和RelativeLayout这两种布局。

还需要注意的事情是FrameLayout这样的布局,会将所有的元素都固定在布局的左上角。

他们都在同一位置绘制,并且显示会相互干扰。

下面介绍一些移动用户界面的指导原则:

表单元素的数目:不同的移动设备显示大小不同,故此不要让用户看到太多的表单元素。

表单元素的尺寸:表达元素能够足够使得用户能够使用。

测试:安卓设备有不同的分辨率,用来不同机型是最重要。这个我最深有体会。在上家离职的公司的安卓软件,

发现很多因为各种不同的机型而产生不一样的结果。

我们下面来介绍三种简单的文本控件:

Textview类似一个标签,可使用该控件向用户显示数据。TextVIew的Width属性用于设置TextView的宽度。

可以使用值fill_parent或者一个整数像素来设置该属性。

EditText类似。net的文本框,它允许多行输入和自动换行。

AutoCompleteTextView是一个向用户显示一组可供选择的项的文本框。类似

搜索引擎,比如在百度上搜索一个种子如图,这个也是类似EditText控件一样。

当用户输入时,可以将选中的项显示在文本视图中,向用户显示的数据列表是由

数据适配器构成的,这里线普及下。这里的数据适配器就类似我们Ado.net的适配器,用来

充当数据绑定的桥梁。在IOS中开发是建一个类继承一个Source的接口来实现绑定的。

在后续课程中将继续深入讲解适配器。

今天的课程就讲解这几个基本控件的使用。下一讲继续讲解其他控件的使用。

转载请附带联系人Q-高卿   QQ1466358067

mono for android学习过程系列教程(4)的更多相关文章

  1. mono for android学习过程系列教程(1)

    直接进入主题,关于mono for android的学习,首先配置好环境,如何配置环境,度娘谷歌一大堆,记得使用破解版. 我自己是百度“黑马四期”传智播客的视频,里面有破解版开发环境的软件. 今天直接 ...

  2. mono for android学习过程系列教程(2)

    接着上一讲继续开始写,今天介绍的是安卓的基本组成结构. 在大多数情况下,MONO FOR ANDROID的命名空间和Android的命名空间 是互相映射的.有时候需要大小写,非字母数字字符的用法以及名 ...

  3. mono for android学习过程系列教程(7)

    首先说个抱歉,这段时候由于个人原因未及时更新博客.故此今天先给大家来个小料. 以后会及时更新我自己的学习过程. 不多说,终于私人生活安定下来了,可以安心学习.直接进入主体: 今天咱们摒弃所有的前面的知 ...

  4. mono for android学习过程系列教程(3)

    服务 接着上一讲的内容,咱们继续来唠叨概念性的东西.服务,内容提供器,广播接收器等理论知识. 首先是服务,它不是一个可视化的组件或者视图.他是由我们开发人员来定义,可以一直一直运行 的工作单元.跟活动 ...

  5. mono for android学习过程系列教程(5)

    这一讲主要需要了解的安卓UI元素是Spinner.这个元素类似我们 winform和webform里面的下拉选项. 首先我们先建立一个新的项目,命名为SpinnerExample. 然后在Layout ...

  6. mono for android学习过程系列教程(6)

    接着上一讲,今天讲的是Button,CheckBox这二个安卓元素, 我们来看第一个Button这个控件,类似winform和webform里面一样,它也是 存在有触发事件的,我们新建初始化项目直接就 ...

  7. [转]Android Studio系列教程六--Gradle多渠道打包

    转自:http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/ Android Studio系列教程六--Grad ...

  8. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  9. Android Studio系列教程六--Gradle多渠道打包

    Android Studio系列教程六--Gradle多渠道打包 2015 年 01 月 15 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzh ...

随机推荐

  1. 用scikit-learn学习DBSCAN聚类

    在DBSCAN密度聚类算法中,我们对DBSCAN聚类算法的原理做了总结,本文就对如何用scikit-learn来学习DBSCAN聚类做一个总结,重点讲述参数的意义和需要调参的参数. 1. scikit ...

  2. 用FSM一键制作逐帧动画雪碧图 Vue2 + webpack

    因为工作需要要将五六十张逐帧图拼成雪碧图,网上想找到一件制作工具半天没有找到,就自己用canvas写了一个. 写成之后就再没有什么机会使用了,因此希望有人使用的时候如果遇到bug了能及时反馈给我. 最 ...

  3. CSS知识总结(七)

    CSS常用样式 5.背景样式 1)背景颜色 background-color : transparent | color 常用值:①英文单词,②十六进制,③RGB或RGBA 另外,还有一种是 渐变色彩 ...

  4. git多账号登录问题

    作者:白狼 出处:http://www.manks.top/git-multiply-accounts.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文 ...

  5. join Linq

    List<Publisher> Publishers = new List<Publisher>(); Publisher publish1 = new Publisher() ...

  6. CentOS:设置系统级代理(转)

    原文地址:http://www.cnblogs.com/cocowool/archive/2012/07/05/2578487.html YUM代理设置 编辑/etc/yum.conf,在最后加入 # ...

  7. Java

    2016-12-17  21:10:28 吉祥物:Duke(公爵)    Logo:咖啡(爪哇岛盛产咖啡)  An overview of the software development proce ...

  8. 一个无限加载瀑布流jquery实现

    实现大概是下面的效果,写了比较详细的注释 <!DOCTYPE html><html> <head> <meta charset="UTF-8&quo ...

  9. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  10. Spring Boot -- 配置切换指南

    一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...