目标

掌握视图的概念。明白Activity与Widget的区别。

掌握XML方式布局界面的特点和一些基本特性。

掌握几种常见基本视图的用法

学会使用代码方式进行界面布局的方法。

熟练掌握界面程序的事件驱动模型

视图(View)是可视化的界面元素,任何可视化组件都需要从android.view.View类继承,视图类通常分3种:布局类、视图容器类和基础视图类。如下图:

视图(View)是可视化的界面元素,视图对象可以单个组件或者很多组件的组合,可以通过XML来创建视图对象。代码如下:

下表列出了View类的一些常用属性和方法

XML属性                 说明

android:padding        为组件的四边设置填充区域

android:scrollbars定义该组件滚动时显示几个滚动条。该属性支持如下属性值。

none:                          不显示滚动条

horizontal:                 显示水平滚动条

vertical:                     显示垂直滚动条

android:tag              为该组件设置一个字符串类型的tag值。接下来可通过View的getTag()获取该字符串,或通过findViewWithTag()查询该组件

android:visibility      设置该组件是否可见,该属性取值有3个:

visible:                     可见

invisible:                 不可见

gone:                         隐藏

用于设定组件大小相关的属性

每一个视图都需要定义android:layout_width和android:layout_height,其值可以有如下几种情况,可以指定确切的大小:

wrap_content:表示有视图的内容决定大小

fill_parent(Level8之后改名为match_parent)表示与父容器一样大

设置组件填充父容器时存在两种方式

内填充的部分存在于组件空间内,相当于页边距的效果

padding——用于设置四边的内边距

paddingLeft、paddingRight、paddingTop、paddingBottom

外填充的部分存在与组件空间外,类似于边界的间隔

margin——用于设置四边的外部间距

marginLeft、marginRight、marginTop、marginBottom

视图与Widget(微件)的区别是:View是可视化的组件元素,Widget其实是一个迷你的Application,View可以存在于Widget中,View可以认为是界面的更加基本的元素。

使用XML布局视图

XML布局文件是Android系统中定义视图的常用方法,文件必须保存在res/layout目录中,XML布局文件的扩展名必须是xml,XML的文件名必须符合Java的变量命名规则,每一个布局文件的根节点可以是任意的组件,布局文件的根节点必须包含android命名空间,组件标签需要使用“@+id/stringvalue”指定ID,ID值的必须符合Java的变量命名规范。

xmlns:android=“http://schemas.android.com/apk/res/android”

XML布局文件示例

在Activity中使用XML布局

通过调用setContentView()方法在代码中使用XML布局

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

通过调用findViewById()方法在代码中控制视图

TextView textView1 = (TextView)findViewById(R.id.textview1);

textView1.setText(“新的字符串内容”);

二:基本视图

文本控件——TextView,显示文本信息,显示基本文本。

显示复杂文本

显示URL信息,通过指定android:autoLink属性来自动识别URL内容,none 不匹配任何链接(默认值),web 匹配web地址,email 匹配Email地址,phone 匹配电话号码。

示例

TextView urlView = (TextView)findViewById(R.id.urlview);urlView.setText(“电子邮件:testandroid@csg.com”);

编辑框----EditText

EditText继承自TextView,可以接受用户输入,并可以设置输入的数据类型。

属性inputtype,可以限定输入数据的类型,以下是常用的设置类型:

text:可输入所有字符

textUri: 可输入网址

textEmailAddress:可输入电子邮件

textPassword:可输入密码

number:可输入0^9的数字

date:可输入日期(0-9、”/”)

time:可输入时间(0-9、“: pam”)

phone:可输入电话号码

按钮控件——Button

普通按钮控件的示例

amh支持java吗_跟我学Android之三 常用视图相关推荐

  1. 小白学习python好还是java好_小白应该学Python还是Java?

    Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...

  2. 黑莓9000支持Java吗_黑莓革命 BlackBerry 9000功能深度评测

    评测背景: 在上篇评测中,我们为各位网友带来了BlackBerry Bold的外观解析以及硬件配置的简单介绍,并为大家贴出了目前Bold独家采用的全新v4.6操作系统部分细节截图.今天,我们就来深入的 ...

  3. amh支持java吗_AMH 6.0 发布,国内领先的云主机面板

    AMH6.0新版本介绍 AMH6.0版本经过几个月稳定测试应用期,目前已经成功上线发布,正式对外开放使用. AMH新版本已经支持免费使用,与免绑定AMH账户使用, 不需账户AMH面板安装完成即可投入使 ...

  4. c语言不会可以学好java吗_有人说学了C语言,两天就能学会Java,两个星期就可以找工作?...

    作为一个过来人来说,编程如果真的那么简单就不会导致现在各大公司还喊着招不到人的情况了,虽然编程领域里面有触类旁通的说法,但这个说法只是针对于对于一种编程已经掌握到一定程度了,不是简单的学过或者做过就可 ...

  5. 南通大学java期末_南通大学生学Java,掌握这20%知识点至关重要!

    南通大学生学Java,掌握这20%知识点至关重要! 嗨,南通的同学们,又见面了!今天我们来谈谈关于Java学习的那点事儿.不管手机前的你,是选择自学Java还是参加Java培训班,建议都来看看这篇文章 ...

  6. 人工智能学JAVA吗_人工智能是学java吗

    人工智能不是学java,人工智能(Artificial Intelligence)是计算机科学的一个分支,英文缩写为AI.它是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术及应用系统的一门新 ...

  7. 零点起飞学java视频_零点起飞学java (刘升华) 高清PDF_IT教程网

    资源名称:零点起飞学java (刘升华) 高清PDF 第1篇 java开发基础 第1章 java概述( 教学视频:37分钟)        2 第2章 基本数据类型及运算( 教学视频:52分钟)    ...

  8. 诺基亚n96支持java吗_诺基亚N96是3G手机么?支持么?是智能手机么,

    手机昵称 N96 上市日期 2008年09月 手机类型 3G手机:智能手机:音乐手机 手机制式 GSM,WCDMA 支持频段 GSM 850/900/1800/1900MHz 数据传输 GPRS.ED ...

  9. 学java编程语言_为什么要学Java编程语言?

    Java是一门面向对象编程语言,具有功能强大和简单易用两个特征. Java编程语言因为自己独特的特性,成为很多编程入门者的首选编程学习语言,原因有以下几点: 1. 世界第一编程语言 自2002年起,历 ...

最新文章

  1. Master、Slave等术语将不能在未来的Linux代码中使用
  2. tf.truncated_normal和tf.random_normal使用方法的区别
  3. 【转】使 用免费UMS架设Flash流媒体服务
  4. JavaScript中map函数和filter的简单举例
  5. [leetcode] 68.二叉树的最近公共祖先
  6. 为进阶Linux大佬打牢地基
  7. vue 跳添加编辑页面传两个值_vue两个组件间值的传递或修改方式
  8. Sublime 格式化代码 快捷键以及插件使用
  9. Android仿美团加载数据、小人奔跑进度动画对话框(附顺丰快递员奔跑效果)
  10. 网易研选大数据架构演进
  11. MyBatis与JPA的区别是什么
  12. 科技 计算机 事迹 大学,计算机学院
  13. 土方计算过程(方格网法)
  14. 腾讯与阿里巴巴投资可编程芯片公司Barefoot Networks
  15. P68-70 王者荣耀
  16. [笔记]Pytorch框架下的入门应用:resnet34实现分类
  17. bim oracle,IBMS和BIM的融合之路
  18. 阿里云“7天实践训练营”入门班第二期学习笔记 第五天 在线编程挑战
  19. windows服务器安装Bonobo Git Server
  20. fdtd simulation, plotting with gnuplot, writting in perl

热门文章

  1. Netty - ByteBuf索引管理
  2. 【H.264/AVC视频编解码技术详解】十九:熵编码算法(5)——H.264的CABAC(上):语法元素的二值化方法...
  3. php.ini 中开启短标签
  4. CSS将长文字换行的方法 (转)
  5. WCF优化的几个常规思路
  6. JavaScript文件中调用AngularJS内部方法或改变$scope变量
  7. [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)
  8. POJ1386 Play on Words
  9. Linux 启动过程详解
  10. 热更新 FrameWork