当前位置: 首页 > 编程日记 > 正文

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

目标

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

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

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

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

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

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

a688892bb69c06f80adbda96277e9dad.png

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

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

2a774fff984ac6d0920a49f534ea134d.png

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:可输入电话号码

c565ffcbf4fa080df30f4d4f0bb1950f.png

按钮控件——Button

普通按钮控件的示例

相关文章:

Linux 终端命令行提示符的艺术--PS1进阶

话不多说,先瞅瞅我的命令行提示符(有点大): 图中命令行解释:┌[阳历日期/农历日期 时间]├[当前目录下目录数当前目录下文件数][当前绝对目录]└[用户名主机名-第几个终端 ╰_╯] 相关配置文件 全局配置文件&#xff1…

Centos 7 冗余备份磁盘配置介绍

Centos 7 冗余备份磁盘配置介绍我们上一盘介绍了Centos 7 磁盘阵列配置介绍,今天继续上一篇的配置介绍,通过上一篇的配置介绍我们发现了一个问题。,运维人员需要在硬盘硬件出现故障后,手动增加新的硬盘进去,这样很不方…

【组队学习】【31期】基于Python的办公自动化

基于Python的办公自动化 航路开辟者:牧小熊、刘雯静、张晓东、吴争光、隆军领航员:六一航海士:牧小熊、李显、刘羽中、王晓亮 基本信息 开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/Office…

java urlconn 下载慢_使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法...

import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;/*** 多线程下载* author bing**/public class OmbDownloadOfThreadsUtil …

java中Array和ArrayList区别

2019独角兽企业重金招聘Python工程师标准>>> 1)精辟阐述: 可以将 ArrayList想象成一种“会自动扩增容量的Array”。 2)Array([]):最高效;但是其容量固定且无法动态改变; …

【组队学习】【31期】 吃瓜教程——西瓜书+南瓜书

吃瓜教程——西瓜书南瓜书 航路开辟者:谢文睿、秦州领航员:张海腾航海士:谢文睿、秦州 基本信息 开源内容:https://github.com/datawhalechina/pumpkin-bookB 站视频:https://www.bilibili.com/video/BV1Mh411e7VU内…

设计模式之“代理模式”

代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 代理模式的英文叫做Proxy或Surrogate,中文都可译成"代理"。所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行…

php更新数据库时间戳,关于Thinkphp5 里面数据库自动更新与创建时间的问题

我们有时候往数据库里面写入新的一条数据 时,可能需要自动更新时间、自动创建时间、这样就可以方便我们、从而大大减小我们的代码量;不过在TP5里面有一个小规律,就是save()与insert()语句的区别;1、我们先看一下TP5里面自动更新时…

【组队学习】【31期】LeetCode 刷题

LeetCode 刷题 航路开辟者:杨世超领航员:刘军航海士:杨世超、李彦鹏、叶志雄、赵子一 基本信息 开源内容:https://github.com/itcharge/LeetCode-Py开源电子书:https://algo.itcharge.cn内容属性:合作课…

DOM---文档对象模型(Document Object Model)的基本使用

一、DOM简介  文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(目…

剑指offer--3题

题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组…

php可以打印一个页面,利用html实现分页打印功能的实例详解

本篇介绍利用html实现分页打印功能的实例详解,有些不想打印出来的分页打印的都可以应用这类样式进行控制 在非打印时是无效的。页面打印/* 应用这个样式的在打印时隐藏 */.noPrint {display: none;}/* 应用这个样式的,从那个标签结束开始另算一页&#x…

java动态加载配置文件

最近项目中需要做定时任务,即定时数据库的备份。定时时间用户可以在界面中配置,要求配置修改好立即生效。 想不到什么好办法。下面是一种实现思路 把用户配置的时间存到properties配置文件中,定时任务每隔一分钟执行一次,每次执行…

商品秒杀,防并发解决思路

我们在做电商项目的时候,经常会遇到抢购秒杀的问题&#xff0c;综合来说主要是两个问题 一&#xff0c;高并发情况下对数据库产生的压力 二&#xff0c;如何避免超卖(库存< 0)的情况。 针对这两个问题来谈下解决思路 一,缓解数据库压力 用 缓存就可以解决 例如redis,memecac…

【组队学习】【31期】动手学数据分析

动手学数据分析 航路开辟者&#xff1a;陈安东、金娟娟、杨佳达、老表、李玲、张文涛、高立业领航员&#xff1a;陈玉立航海士&#xff1a;陈安东、武帅、肖涵哲、叶前坤、沈豪 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/hands-on-data-analysis内容…

php不报错怎么回事,解决PHP 7等web编程语言不报错一例

PHP的开发者必须尽快转到PHP 7平台&#xff0c;因为原来在PHP 5下开发的程序&#xff0c;有很多在PHP 7下都会报错。PHP 5的程序改为PHP 7的写法&#xff0c;工作量是很大的&#xff0c;所以开发者只能一步到位转到PHP 7平台。PHP 7增强了数据类型&#xff1b;数组与变量名不能…

在存储过程中如何实现将ID列表字符串传入IN()

我们在平常编写sql语句时&#xff0c;经常碰到要把id列表字符串&#xff08;比如&#xff1a;001&#xff0c;002&#xff0c;003&#xff0c;....)当做参数传递给存储过程&#xff0c; 那么在存储过程中要用in作为条件进行记录的过滤&#xff0c;那么采用in(idList)&#xff0…

【组队学习】【31期】数据可视化(Matplotlib)

数据可视化&#xff08;Matplotlib&#xff09; 航路开辟者&#xff1a;杨剑砺、杨煜、耿远昊、李运佳、居凤霞领航员&#xff1a;贾献华航海士&#xff1a;杨剑砺、郭棉昇、张文恺、肖桐 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/fantastic-matplo…

java学习路线图(2018年最新版)

最近有些网友问我如何自学 Java 后端&#xff0c;还有些是想从别的方向想转过来&#xff0c;但都不太了解 Java 后端究竟需要学什么&#xff0c;究竟要从哪里学起&#xff0c;哪些是主流的 Java 后端技术等等&#xff0c;导致想学&#xff0c;但又很迷茫&#xff0c;不知从何下…

php instr函数,oracle的instr函数用法

这几天在做一个项目的时候&#xff0c;做到关于用户组权限分配的问题&#xff0c;用到了Oracle的instr函数&#xff0c;现在好好学习下这个函数吧。 在Oracle/PLSQL中&#xff0c; instr 函数返回要截取的字符串在源字符串中的位置。 语法如下&#xff1a;instr( string1, stri…

浏览器内核Trident/Gecko/WebKit/Presto

“浏览器内核”主要指渲染引擎(Rendering Engine)&#xff0c;负责解析网页语法(如HTML、JavaScript)并渲染、展示网页。因此&#xff0c;所谓的浏览器内核通常也就是指浏览器所采用的渲染引擎&#xff0c; 渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏…

Intellij IDEA 将工程转换成maven工程 详解

1> 右键工程&#xff0c;点击 Add Framework Support2> 选中 Maven&#xff0c;再点击 OK3> 工程根目录自动生成 pom.xml 文件&#xff0c;这样 工程就支持 Maven版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 http://blog.csdn.net/che…

【组队学习】【31期】水很深的深度学习

水很深的深度学习 航路开辟者&#xff1a;刘洋领航员&#xff1a;陈宇航海士&#xff1a;刘洋、陈陟原、左凯文、初晓宇、刘羽中 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/unusual-deep-learning内容属性&#xff1a;公测课程内容说明&#xff1a;本…

php返回结果判断,老司机在判断返回结果时翻了个身(ThinkPHP)

“这篇文章属于基本内容。看到它的学生检查他们的代码是否有同样的问题“序言小q又带着问题来了&#xff0c;今天的问题估计是大多数同志都会犯的问题。问题是使用ThinkPHP时查询返回的结果是否为空。你自信吗&#xff1f;你不知道的是空的&#xff01;如果你是这样认为的&…

ZooKeeper客户端地址列表的随机原理

原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nileader.blog.51cto.com/1381108/932948查看PDF版本 转载请用注明&#xff1a;ni掌柜nileadergmail.com 在之前一个文章《ZooKeeper Jav…

Intellij IDEA使用教程(超详细)

转自 http://www.phperz.com/article/15/0923/159067.html转载于:https://www.cnblogs.com/lijingran/p/8585430.html

【组队学习】【31期】青少年编程(Scratch 四级)

青少年编程&#xff08;Scratch 四级&#xff09; 航路开辟者&#xff1a;王思齐、马燕鹏领航员&#xff1a;马燕鹏航海士&#xff1a;王思齐、马燕鹏 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/team-learning-program/tree/master/Scratch内容属性&…

java中mypoiexception,java - 如何使用Poi获取Java中单元格的数据验证源? - 堆栈内存溢出...

此问题包含多个不同的问题。首先&#xff0c;我们需要获取工作表的数据验证&#xff0c;然后为每个数据验证获取数据验证所适用的Excel单元格范围。 如果该单元格位于该单元格范围之一中&#xff0c;并且数据验证是列表约束&#xff0c;则进行进一步处理。 否则返回默认值。如果…

[20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt

[20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt--//简单探究12c TABLE ACCESS BY INDEX ROWID BATCHED特性.--//当使用12c时,执行计划出现TABLE ACCESS BY INDEX ROWID BATCHED,做一些探究.--//本文主要探究如何使用提示或者隐含参数控制这种特性.1.环境:SCOTTtest01…

Angularjs集成第三方js插件之Uploadify

有时候需要用一些第三方插件&#xff0c;比如datepicker&#xff0c;slider&#xff0c;或者tree等。以前的做法是直接通过jquery取得某个元素&#xff0c;然后调用某个方法即可。但在angularjs中&#xff0c;不能直接这么写&#xff0c;必须写在directive中。 开源项目Angular…