Android笔记(六) Android中的组件
一个软件可以吸引到用户,除了优秀的功能可以解决用户的问题之外,良好的用户界面也并不可少。一个软件的功能不管多么优秀,但是没有提供友好的界面来让用户操作,将很难吸引到最终用户。
Android提供了大量的UI组件,开发者按照一定规律把这些UI组件组合在一起,形成一个优秀的图形用户界面,再通过Android提供的事件响应机制,让这些组件可以响应用户的点击、拖动,最终完成用户的交互操作。
Android应用的绝大部分UI组件都放在android.widget包及其子包、android.view包机器子包中并且都继承了View类。
View还有一个子类ViewGroup,ViewGroup通常作为其他组件的容器来使用,ViewGroup除了可以放其他组件,也可以放另外一个ViewGroup,所以Android的所有组件都是建立在View、ViewGroup基础上的。
View的直接子类、间接子类包含常见的Button、CheckBox、EditText、TextView等组件。
GroupView的子类通常用来作为容器,例如各种布局管理器
View类的XML属性、相关方法以及说明
|
XML 属性 |
相关方法 |
说明 |
|
android:alpha |
setAlpha(float) |
设置该组件的透明度 |
|
android:background |
setBackgroundResource(int) |
设置该组件的背景颜色 |
|
android:clickable |
setClickable(boolean) |
设置该组件是否可以激发单击事件 |
|
android:contentDescription |
setContentDescription(CharSequence) |
设置该组件的主要描述信息 |
|
android:drawingCacheQuality |
setDrawingCacheQuality(iint) |
设置该组件所使用的绘制缓存的质量 |
|
android:fadeScrollbars |
setScrollbarFadingEnabled(boolean) |
当不使用该组件的滚动条时,是否淡出显示滚动条 |
|
android:fadingEdge |
setVerticalFadingEdgeEnabled(boolean) |
设置滚动该组件时组件边界是否使用淡出效果 |
|
android:fadingEdgeLength |
getVerticalFadingEdgeLength() |
设置淡出边界的长度 |
|
android:focusable |
setFocusable(boolean) |
设置组件是否可以得到焦点 |
|
android:focusableInTouchMode |
setFocusableInTouchMode(boolean) |
设置该组件在触摸模式下是否可以得到焦点 |
|
android:id |
setId(int) |
设置该组件的唯一标识。Java 代码中可以通过 findViewById 来获取它 |
|
android:isScrollContainer |
setScrollContainer(boolean) |
设置该组件是否作为可滚动容器使用 |
|
android:keepScreenOn |
setKeepScreenOn(boolean) |
设置该组件是否会强制手机屏幕一直打开 |
|
android:longClickable |
setLongClickable(boolean) |
设置该组件是否可以响应长单击事件 |
|
android:minHeight |
setMinimumHeight(int) |
设置该组件的最小高度 |
|
android:minWidth |
setMinimumWidtht(int) |
设置该组件的最小宽度 |
|
android:nextFocusDown |
SetNextFocusDownId(int) |
设置焦点在该组件上,且按向下键时获得焦点的组件 ID |
|
android:nextFocusLeft |
setNextFocusLeftId(int) |
设置焦点在该组件上,且按向左键时获得焦点的组件 ID |
|
android:nextFocusRight |
setNextFocusRightId(int) |
设置焦点在该组件上,且按向右键时获得焦点的组件 ID |
|
android:nextFocusUp |
setNextFocusUpId(int) |
设置焦点在该组件上,且按向上键时获得焦点的组件 ID |
|
android:onClick |
为该组件的单击事件绑定监听器 |
|
|
android:padding |
setPadding(int,int,int,int) |
在组件的四边设置填充区域 |
|
android:paddingLeft |
setPadding(int,int,int,int) |
在组件的左边设置填充区域 |
|
android:paddingTop |
setPadding(int,int,int,int) |
在组件的上边设置填充区域 |
|
android:paddingRight |
setPadding(int,int,int,int) |
在组件的右边设置填充区域 |
|
android:paddingBottom |
setPadding(int,int,int,int) |
在组件的下边设置填充区域 |
|
android:rotation |
setRotation(float) |
设置该组件旋转的角度 |
|
android:rotationX |
setRotationX(float) |
设置该组件绕X 轴旋转的角度 |
|
android:rotationY |
setRotationY(float) |
设置该组件绕Y 轴旋转的角度 |
|
android:saveEnabled |
setSaveEnabled(boolean) |
如果设置为false ,那当该组件被冻结时不会保存它的状态 |
|
android:scaleX |
setScaleX(float) |
设置该组件在水平方向的缩放比 |
|
android:scaleY |
setScaleY(float) |
设置该组件在垂直方向的缩放比 |
|
android:scrollX |
该组件初始化后的水平滚动偏移 |
|
|
android:scrollY |
该组件初始化后的垂直滚动偏移 |
|
|
android:scrollbarAlwaysDrawHorizontalTrack |
设置该组件是否总是显示水平滚动条的轨迹 |
|
|
android:scrollbarAlwaysDrawVerticalTrack |
设置该组件是否总是显示垂直滚动条的轨迹 |
|
|
android:scrollbarDefaultDelayBeforeFade |
setScrollbarDefaultDelayBeforeFade(int) |
设置滚动条在淡出隐藏之前延迟多少毫秒 |
|
android:scrollbarFadeDuration |
setScrollbarFadeDuration(int) |
设置滚动条淡出隐藏过程需要多少秒 |
|
android:scrollbarSize |
setScrollbarSize(int) |
设置垂直滚动条的宽度和水平滚动条的高度 |
|
android:scrollbarStyle |
setScrollbarStyle(int) |
设置滚动条的风格和位置。该属性支持如下属性: insideOverlay insideInset OutsideOverlay OutsideInset |
|
android:scrollbarThumbHorizontal |
设置该组件的水平滚动条的滑块对应的Drawable 对象 |
|
|
android:scrollbarThumbVertical |
设置该组件的垂直滚动条的滑块对应的Drawable 对象 |
|
|
android:scrollbarTrackHorizontal |
设置该组件的水平滚动条的轨道对应的Drawable 对象 |
|
|
android:scrollbarTrackVertical |
设置该组件的垂直滚动条的轨道对应的Drawable 对象 |
|
|
android:scrollbars |
定义该组件滚动时显示几个滚动条,该属性支持如下属性值。 none :不显示滚动条 horizont :显示水平滚动条 vertical :显示垂直滚动条 |
|
|
android:soundEffectsEnabled |
setSoundEffectsEnabled(boolean) |
设置该组件被单击时是否使用音效 |
|
android:tag |
为该组件设置一个字符串类型的tag 值。接下来可通过 View 的 getTag() 获取该字符串,或通过 findViewWithTag() 查找该组件 |
|
|
android:transformPivotX |
setPivotX(float) |
设置该组件旋转时旋转中心的 X 坐标 |
|
android:transformPivotY |
setPivotY(float) |
设置该组件旋转时旋转中心的 Y 坐标 |
|
android:translationX |
setTranslationX(float) |
设置该组件在X 方向上位移 |
|
android:translationY |
setTranslationY(float) |
设置该组件在Y 方向上位移 |
|
android: |
setVisibility(int) |
设置该组件是否可见 |
Android笔记(六) Android中的组件的更多相关文章
- Android 笔记之 Android 系统架构
Android笔记之Android系统架构 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: ...
- Android笔记(六十六) android中的动画——XML文件定义属性动画
除了直接在java代码中定义动画之外,还可以使用xml文件定义动画,以便重用. 如果想要使用XML来编写动画,首先要在res目录下面新建一个animator文件夹,所有属性动画的XML文件都应该存放在 ...
- Android笔记(六十三) android中的动画——逐帧动画( frame-by-frame animation)
就好像演电影一样,播放实现准备好的图片,来实现动画效果. 逐帧动画需要用到AnimationDrawable类,该类主要用于创建一个逐帧动画,然后我们把这个动画设置为view的背景即可. androi ...
- Android笔记(六十九) 仿微信界面(一)
综合之前的Fragment和自定义组件的知识,实现微信界面 MainActivity.java package cn.lixyz.test; import android.app.Acti ...
- Android笔记(六十七) 自定义控件
实际编程中,系统提供的控件往往无法满足我们的需求,一来是样子丑陋,二来是一些复杂的组合需要多次使用的话,每次都写一堆控件的组合会很耗费时间,所以我们将这些组件的组合自定义为一个新的控件,以后使用的时候 ...
- Android笔记(六十八) Fragment总结
Fragment的产生: 为了适应各种尺寸的屏幕,谷歌推出Fragment,可以把Fragment成Activity的一个组成部分,它拥有自己的生命周期.可以接收并处理用户的各种事件,还可以动态的增删 ...
- Android笔记(六十二)网络框架volley
什么是Volley 很多时候,我们的APP都需要用到网络技术,使用HTTP协议来发送接收数据,谷歌推出了一个网络框架——volley,该框架适合进行数据量不大,但通信频繁的网络操作. 它的优点: (1 ...
- vue学习笔记(九)vue-cli中的组件通信
前言 在上一篇博客vue学习笔记(八)组件校验&通信中,我们学会了vue中组件的校验和父组件向子组件传递信息以及子组件通知父组件(父子组件通信),上一篇博客也提到那是对组件内容的刚刚开始,而本 ...
- Android笔记: Android版本号
由于有2套版本号 总是对应不准 记下来做过标记 Android 4.3 ----18 Android 4.2---17 Android 4.1---16 Android 4.0.3---15Andro ...
- Android笔记(六十五) android中的动画——属性动画(propertyanimation)
补间动画只能定义起始和结束两个帧在“透明度”.“旋转”.“倾斜”.“位移”4个方面的变化,逐帧动画也只能是播放多个图片,无法满足我们日常复杂的动画需求,所以谷歌在3.0开始,推出了属性动画(prope ...
随机推荐
- 在tomcat下context.xml中配置各种数据库连接池
作者:郑文亮 Tomcat6的服务器配置文件放在 ${tomcat6}/conf 目录底下.我们可以在这里找到 server.xml 和 context.xml.当然,还有其他一些资源文件.但是在在本 ...
- Nginx 504响应超时
1.问题分析 nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时. ...
- 文件描述符FD的含义/文件句柄
使用sudo lsof -nP -iTCP -sTCP:LISTEN查看占用端口的程序;因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能 概念 ...
- centos7下使用yum安装mysql5.7.10
原文地址:http://www.mamicode.com/info-detail-503994.html CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql ...
- 【OpenGL开发】关于GLEW扩展库
GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口.使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些Open ...
- Spring切面编程AOP
- [VS] - 手工打开 WCF 客户端调试工具
操作步骤 1. 在开始菜单中找到 Visual Studio 命令行工具 2. 输入命令 wcftestclient 即可打开 WCF 客户端测试工具 参考资料http://www.cnblogs.c ...
- SQL——INSERT INTO(增)
一.INSERT INTO语句的基本用法 INSERT INTO 语句用于往表中插入新记录. student表: INSERT INTO语句有2种语法格式: 1.不指定列名,直接插入记录. 语法格式如 ...
- Codeforces Round #419 (Div. 1) (ABCD)
1. 815A Karen and Game 大意: 给定$nm$矩阵, 每次选择一行或一列全部减$1$, 求最少次数使得矩阵全$0$ 贪心, $n>m$时每次取一列, 否则取一行 #inclu ...
- Python通用爬虫,聚焦爬虫概念理解
通用爬虫:百度.360.搜狐.谷歌.必应....... 原理: (1)抓取网页 (2)采集数据 (3)数据处理 (4)提供检索服务 百度爬虫:Baiduspider 通用爬虫如何抓取新网站? (1)主 ...