admin 管理员组文章数量: 1086019
2024年4月18日发(作者:学java报什么专业)
Android2.2
——
API
中文文档
目录:
(
1
)
——TextView
(
2
)
——EditText
(
3
)
——AccessibilityService
(4)——Manifest
(
5
)
——View
(
6
)
——ImageView
(7)——ImageButton
(
8
)
——QuickContactBadge
(
9
)
——ZoomButton
(10)——CheckBox
(
11
)
——RadioButton
(
12
)
——Button
(13)——ToggleButton
(
14
)
——ViewStub
(15)——
GridView
一、
TextView
1
、结构
↳
↳ew
2、已知直接子类:
Button,CheckedTextView,Chronometer,DigitalClock,EditText
3
、已知间接子类:
AutoCompleteTextView,CheckBox,CompoundButton,ExtractEditText,
MultiAutoCompleteTextView,RadioButton,ToggleButton
4
、
XML
属性
属性名称
android:autoLink
android:autoText
描述
设置是否当文本为
URL
链接
/email/
电话号码
/map
时,文
本显示为可点击的链接。可选值
(none/web/email/phone/map/all)
如果设置,将自动执行输入值的拼写纠正。此处无效果,
在显示输入法并输入的时候起作用。
android:bufferType
指定getText()方式取得的文本类别。选项
editable类似于StringBuilder可追加字符,
也就是说getText后可调用append方法设置文本
内容。spannable则可在给定的字符区域使用样
式,参见这里1、这里2。
设置英文字母大写类型。此处无效果,需要弹出输入法才
能看得到,参见
EditView
此属性说明。
设定光标为显示/隐藏,默认显示。
设置允许输入哪些字符。如“1234567890.+-*/%n()”
在text的下方输出一个drawable,如图片。如果指定一个
颜色的话会把
text
的背景设为该颜色,并且同时和
background
使用时覆盖后者。
在
text
的左边输出一个
drawable
,如图片。
设置text与drawable(图片)的间隔,与drawableLeft、
drawableRight
、
drawableTop
、
drawableBottom
一起使用,
可设置为负数,单独使用没有效果。
在
text
的右边输出一个
drawable
,如图片。
在text的正上方输出一个drawable,如图片。
设置是否可编辑。这里无效果,参见EditView。
设置文本的额外的输入数据。在
EditView
再讨论。
设置当文字过长时,该控件该如何显示。有如下值设
置:
”start”—–
省略号显示在开头;
”end”——
省略号显示
在结尾;”middle”—-省略号显示在中间;”marquee”——
以跑马灯的方式显示
(
动画横向移动
)
设置保存文本的内容以及光标的位置。参见:这里。
设置文本位置,如设置成“center”,文本将居中显示。
可通过
textColorHint
设
Text
为空时显示的文字提示信息,
置提示信息的颜色。比较奇怪的是TextView本来就相当
于Label,怎么会不设置Text?!
附加功能,设置右下角IME动作与编辑框相关的动作,如
,而不设置默认是
actionDone
右下角将显示一个“完成”
一个回车符号。这个在
EditView
中再详细说明,此处无用。
设置
IME
动作
ID
。在
EditView
再做说明,可以先看这篇
帖子:这里。
设置IME动作标签。在EditView再做说明。
设置文本是否包含顶部和底部额外空白,默认为
true
。
为文本指定输入法,需要完全限定名(完整的包名)。例
如:
,但是这里报
错找不到。
设置文本的类型,用于帮助输入法显示合适的键盘类型。
在EditView中再详细说明,这里无效果。
设置链接是否点击连接,即使设置了autoLink。
android:capitalize
android:cursorVisible
android:digits
android:drawableBottom
android:drawableLeft
android:drawablePadding
android:drawableRight
android:drawableTop
android:editable
android:editorExtras
android:ellipsize
android:freezesText
android:gravity
android:hint
android:imeOptions
android:imeActionId
android:imeActionLabel
android:includeFontPadding
android:inputMethod
android:inputType
android:linksClickable
在
ellipsize指定marquee的情况下,设置重复滚
android:marqueeRepeatLimit
动的次数,当设置为marquee_forever时表示无限
次。
设置TextView的宽度为N个字符的宽度。这里测试为一
android:ems
个汉字字符宽度,如图:
设置
TextView
的宽度为最长为
N
个字符的宽度。与
ems
同时使用时覆盖ems选项。
设置TextView的宽度为最短为N个字符的宽度。与ems
同时使用时覆盖ems选项。
限制显示的文本长度,超出部分不显示。
设置文本的行数,设置两行就显示两行,即使第二行没有
数据。
设置文本的最大显示行数,与width或者layout_width结
合使用,超出部分自动换行,超出行数将不显示。
设置文本的最小行数,与lines类似。
设置行间距。
设置行间距的倍数。如”1.2”
如果被设置,该
TextView
有一个数字输入法。此处无用,
设置后唯一效果是TextView有点击效果,此属性在
EdtiView
将详细说明。
以小点”.”显示文本
设置为电话号码的输入方式。
设置输入法选项,此处无用,在
EditText
将进一步讨论。
android:maxEms
android:minEms
android:maxLength
android:lines
android:maxLines
android:minLines
android:lineSpacingExtra
android:lineSpacingMultiplier
android:numeric
android:password
android:phoneNumber
android:privateImeOptions
android:scrollHorizontally
android:selectAllOnFocus
android:shadowColor
android:shadowDx
android:shadowDy
android:shadowRadius
设置文本超出TextView的宽度的情况下,是否出
现横拉条。
如果文本是可选择的,让他获取焦点而不是将光标移动为
文本的开始位置或者末尾位置。TextView中设置后无效
果。
指定文本阴影的颜色,需要与
shadowRadius
一起使用。
效果:
设置阴影横向坐标开始位置。
设置阴影纵向坐标开始位置。
设置阴影的半径。设置为
0.1
就变成字体的颜色了,一般
设置为
3.0
的效果比较好。
设置单行显示。如果和layout_width一起使用,当文本不
能全部显示时,后面用“
…
”来表示。如
android:text="test_
singleLine"android:singleLine="true"
android:layout_width="20dp"将只显示“t…”。如果不设置
singleLine或者设置为false,文本将自动换行
设置显示文本.
android:singleLine
android:text
设置文字外观。如
“?android:attr/textAppearanceLargeInverse
android:textAppearance
”这里引用的是系统自带的一个外观,?表示系统是否有
这种外观,否则使用默认的外观。可设置的值如下:
textAppearanceButton/textAppearanceInverse/textAppeara
nceLarge/textAppearanceLargeInverse/textAppearanceMedi
um/textAppearanceMediumInverse/textAppearanceSmall/t
android:textColor
android:textColorHighlight
android:textColorHint
android:textColorLink
extAppearanceSmallInverse
设置文本颜色
被选中文字的底色,默认为蓝色
设置提示信息文字的颜色,默认为灰色。与hint一起使用。
文字链接的颜色
.
设置文字之间间隔,默认为1.0f。分别设置
0.5f/1.0f/1.5f/2.0f
效果如下:
android:textScaleX
android:textSize
android:textStyle
android:typeface
android:height
android:maxHeight
android:minHeight
android:width
android:maxWidth
android:minWidth
二、EditText
1
、结构
设置文字大小,推荐度量单位”sp”,如”15sp”
设置字形
[bold(
粗体
)0,italic(
斜体
)1,bolditalic(
又粗又斜
)
2]
可以设置一个或多个,用“
|
”隔开
设置文本字体,必须是以下常量值之一:
normal0,sans1,
serif2,monospace(
等宽字体
)3]
设置文本区域的高度,支持度量单位:px(像
素
)/dp/sp/in/mm(
毫米
)
设置文本区域的最大高度
设置文本区域的最小高度
设置文本区域的宽度,支持度量单位:
px(
像
素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
设置文本区域的最大宽度
设置文本区域的最小宽度
↳
↳
ew
↳
xt
已知直接子类:
AutoCompleteTextView,ExtractEditText
已知间接子类:
MultiAutoCompleteTextView
2、xml属性
属性名称
android:au
toLink
android:au
toText
android:bu
fferType
描述
设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选
值(none/web/email/phone/map/all)。这里只有在同时设置text时才自动识别链接,
后来输入的无法自动识别。
自动拼写帮助。这里单独设置是没有效果的,可能需要其他输入法辅助才行,效果参见视
频。
指定getText()方式取得的文本类别。选项editable类似于StringBuilder可追加字符,
也就是说getText后可调用append方法设置文本内容。spannable则可在给定的字符区
域使用样式,参见这里1、这里2。
android:ca
pitalize
android:cu
rsorVisible
android:di
gits
设置英文字母大写类型。设置如下值:sentences仅第一个字母大写;words每一个单词
首字母大小,用空格区分单词;characters每一个英文字母都大写。在模拟器上用PC键
盘直接输入可以出效果,但是用软键盘无效果。
设定光标为显示/隐藏,默认显示。如果设置false,即使选中了也不显示光标栏。
设置允许输入哪些字符。如“1234567890.+-*/%n()”
在text的正上方输出一个drawable。在EditView中的效果比较搞笑:
android:dr
awableTop
,居然在文本框里,而且删不了。
android:dr
awableBot
tom
android:dr
awableLef
t
android:dr
awablePad
ding
android:dr
awableRig
ht
android:ed
itable
android:ed
itorExtras
android:ell
ipsize
android:fr
eezesText
android:gr
avity
android:hi
nt
在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设
为该颜色,并且同时和background使用时覆盖后者。
在text的左边输出一个drawable(如图片)。
设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、
drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
在text的右边输出一个drawable,如图片。
设置是否可编辑。仍然可以获取光标,但是无法输入。
指定特定输入法的扩展,如“_FIELD”。源码跟踪至
,暂无相关实现代码。
设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开
头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee”——以
跑马灯的方式显示(动画横向移动)
设置保存文本的内容以及光标的位置。参见:这里。
设置文本位置,如设置成“center”,文本将居中显示。
Text为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。
设置软键盘的Enter键。有如下值可设置:normal,actionUnspecified,actionNone,
actionGo
,actionSearch,actionSend,actionNext,actionDone
,flagNoExtractUi,flagNoAccessoryAction,flagNoEnterAction。可用’|’设置多个。
这里仅设置显示图标之用,参见文章末尾例子。
设置IME动作ID,在onEditorAction中捕获判断进行逻辑操作。
设置IME动作标签。但是不能保证一定会使用,猜想在输入法扩展的时候应该有用。
android:im
eOptions
android:im
eActionId
android:im
eActionLa
bel
android:in
cludeFont
Padding
android:in
putMethod
设置文本是否包含顶部和底部额外空白,默认为true。
为文本指定输入法,需要完全限定名(完整的包名)。例如:
,但是这里报错找不到。关于自定义输入法
参见这里。
设置文本的类型,用于帮助输入法显示合适的键盘类型。有如下值设置:none、text、
textCapCharacters字母大小、textCapWords单词首字母大小、textCapSentences
仅第一个字母大小、textAutoCorrect、textAutoComplete自动完成、textMultiLine
多行输入、textImeMultiLine输入法多行(如果支持)、textNoSuggestions不提示、
textEmailAddress电子邮件地址、textEmailSubject邮件主题、textShortMessage
短信息(会多一个表情按钮出来,点开如下图:
android:in
putType
)、textLongMessage长讯息?、textPersonName人名、textPostalAddress地址、
textPassword密码、textVisiblePassword可见密码、textWebEditText作为网页表
单的文本、textFilte文本筛选过滤、textPhonetic拼音输入、numberSigned有符号
数字格式、numberDecimal可带小数点的浮点格式、phone电话号码、datetime时间
日期、date日期、time时间。部分参考这里。
android:m
arqueeRep
eatLimit
android:e
ms
android:m
axEms
android:mi
nEms
android:m
axLength
android:lin
es
android:m
axLines
android:mi
nLines
android:lin
ksClickabl
e
android:lin
eSpacingE
xtra
在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为
marquee_forever时表示无限次。
设置TextView的宽度为N个字符的宽度。参见TextView中此属性的截图。
设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
限制输入字符数。如设置为5,那么仅可以输入5个汉字/数字/英文字母。
设置文本的行数,设置两行就显示两行,即使第二行没有数据。
设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,
超出行数将不显示。
设置文本的最小行数,与lines类似。
设置链接是否点击连接,即使设置了autoLink。
设置行间距。
android:lin
eSpacingM
ultiplier
android:nu
meric
android:pa
ssword
android:ph
oneNumbe
r
android:pr
ivateImeO
ptions
android:sc
rollHorizo
ntally
android:se
lectAllOnF
ocus
android:sh
adowColor
android:sh
adowDx
android:sh
adowDy
android:sh
adowRadi
us
android:si
ngleLine
android:te
xt
设置行间距的倍数。如”1.2”
如果被设置,该TextView有一个数字输入法。有如下值设置:integer正整数、signed
带符号整数、decimal带小数点浮点数。
以小点”.”显示文本
设置为电话号码的输入方式。
提供额外的输入法选项(字符串格式)。依据输入法而决定是否提供,如这里所见。自定义
输入法继承
InputMethodService。这篇文章也许有帮助。
设置文本超出TextView的宽度的情况下,是否出现横拉条。
如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。
TextView中设置后无效果。
指定文本阴影的颜色,需要与shadowRadius一起使用。参见TextView中此属性的截
图。
设置阴影横向坐标开始位置。
设置阴影纵向坐标开始位置。
设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”
来表示。如android:text="test_singleLine"android:singleLine="true"
android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为
false,文本将自动换行
设置显示文本.
设置文字外观。如“?android:attr/textAppearanceLargeInverse
android:te
xtAppeara
nce
”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。
可设置的值如下:
textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAp
pearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInver
se/textAppearanceSmall/textAppearanceSmallInverse
设置文本颜色
android:te
xtColor
android:te
xtColorHig
hlight
android:te
xtColorHin
t
被选中文字的底色,默认为蓝色
设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:te
xtColorLin
k
android:te
xtScaleX
android:te
xtSize
android:te
xtStyle
android:ty
peface
android:he
ight
android:m
axHeight
android:mi
nHeight
android:wi
dth
android:m
axWidth
android:mi
nWidth
文字链接的颜色.
设置文字之间间隔,默认为1.0f。参见TextView的截图。
设置文字大小,推荐度量单位”sp”,如”15sp”
设置字形[bold(粗体)0,italic(斜体)1,bolditalic(又粗又斜)2]可以设置一个或多个,
用“|”隔开
设置文本字体,必须是以下常量值之一:normal0,sans1,serif2,monospace(等宽
字体)3]
设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
设置文本区域的最大高度
设置文本区域的最小高度
设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width
的区别看这里。
设置文本区域的最大宽度
设置文本区域的最小宽度
补充说明:
a).
由于是继承自
TextView
,所以属性是一样的,但是这里重点补充了输入
法相关的属性说明和研究,部分注释也做了相应的调整。
b).Word格式下载
/source/2664164
3
、例子
3.1
android:imeOptions例子
android:layout_width="100dp"android:layout_height="wrap_con tent"> ((EditText)findViewById(t)).setOnEditorActionListener( orActionListener(){ @Override publicbooleanonEditorAction(TextViewv,intactionI d, KeyEventevent){ if(actionId==_ACTION_GO){ xt(," 你点了 Go!",_SHORT).show(); } returnfalse; } }); 三、 AccessibilityService 1 、结构 ↳t ↳tWrapper ↳e ↳ibilityService publicabstractclassAccessibilityServiceextendsService 2、类概述 当AccessibilityEvent事件被启动后AccessibilityService会接收回调函数运行于后台, 这些事件指的是在用户接口间的状态转换,比如 , 焦点变化,按钮被点击等。一些辅助服务继承 于此类并且实现它的抽象方法,像这样的一个服务和其他服务一样在中被 声明但它必须被指定操纵 ibilityService的意图,下面的是一段例子: ce"/> 辅助服务的声明周期只能被系统管理,启动或者停止这个服务必须由明确的用户通过启用 或停用设备的设定,在系统通过呼叫onServiceConnected()方法与服务绑定后,这个方法才 能被想要执行装载的客户端所重载使用,一个辅助服务通过呼叫 setServiceInfo(AccessibilityServiceInfo) 方法来设定 AccessibilityServiceInfo 而配置。 你可以在任何时候改变这个服务的配置但最好是在重载方法 onServiceConnected(). 中来使 用。 一个辅助服务可以在特定的包中注册事件以提供特殊的反馈类型并且当最后一个关联的事件被 解除的时候发出明确的超时提醒。 3、通告策略 对于每个回馈类型只有一个辅助服务被通知,服务登记处按顺序被通知,因此,如果有两个服 务为同一个包中的同一回馈类型注册那么第一个会被通知,然而有可能的是,可以为一个给定的 回馈类型去把一个服务注册为默认的,这样的话如果没有其他的服务来取代这个事件这个服务就 会被呼出使用,换句话说,默认的服务不会与其他的服务竞争并且不管注册的顺序而被通知。 4、公共方法: 4.1abstractvoidonAccessibilityEvent(AccessibilityEventevent) CallbackforAccessibilityEvents. 参数 event 一个事件 4.2publicfinalIBinderonBind(Intentintent) 实现返回一个内部的辅助接口的实现,子类不能被重写。 参数 intent 与服务相绑定的意图,注意其他任何包含在 Intent 的外部意图将不能在此使用。 返回值 4.3 返回一个客户端可以在服务上访问的IBinder。 publicabstractvoidonInterrupt() 打断辅助回馈内容时呼叫。 5、保护方法: 5.1protectedvoidonServiceConnected() 这个方法是AccessibilityService声明周期的一部分,在系统成功与服务绑定后才被呼叫, 如果用来设定 AccessibilityServiceInfo. 这个方法更为方便。 四、Mainfest 1 、结构 ↳st publicfinalclassManifestextendsObject 内部类 sion sion_group 2、sion的常量 ACCESS_CHECKIN_PROPERTIES ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION ACCESS_LOCATION_EXTRA_COMMANDS ACCESS_MOCK_LOCATION ACCESS_NETWORK_STATE ACCESS_SURFACE_FLINGER ACCESS_WIFI_STATE ACCOUNT_MANAGER AUTHENTICATE_ACCOUNTS BATTERY_STATS BIND_APPWIDGET 允许在登入数据库的时候读写其中的属性表, 并上传改变的值 允许应用访问范围(如WIFI)性的定位 允许应用访问精确(如GPS)性的定位 允许应访问额外的提供定位的指令 允许应用创建用于测试的模拟定位提供者 允许应用访问网络上的信息 允许应用使用低版本视图的特征 允许应用访问关羽Wi-Fi网络的信息 允许应用进入帐户认证 允许应用为ACCOUNT_MANAGER扮演一个帐户认 证系统 允许应用去统计电源信息 允许应用告诉AppWidget哪个应用能够访问该 AppWidget的数据 BIND_DEVICE_ADMIN BIND_INPUT_METHOD BIND_WALLPAPER BLUETOOTH BLUETOOTH_ADMIN BRICK BROADCAST_PACKAGE_REMOVED BROADCAST_SMS BROADCAST_STICKY BROADCAST_WAP_PUSH CALL_PHONE 必须通过关机接收者的请求来确保只有系统能 够与之交互 必须通过InputMethodService的请求来确保只 有系统能够与之绑定 必须通过WallpaperService的请求来确保只有 系统能够与之绑定 允许应用去连接蓝牙设备 允许应用找到与之连接的蓝牙设备 被请求废止设备(非常危险) 允许应用发出一个程序包被移除的广播消息 允许应用发出一个收到短信的消息 允许应用发出一个与intent相连的消息 允许应用发出一个收到WAPPUSH的广播消息 允许应用启动一个用户确认电话被拨打而不通 过拨打电话的用户界面的的拨打程序 允许应用启动一个用户确认电话被拨打而不通 过拨打电话的用户界面的的任意号码的拨打, 包括紧急号码. 能够启动照相机设备的请求 CALL_PRIVILEGED CAMERA CHANGE_COMPONENT_ENABLED_STATE 允许应用去改变一个应用是否是激活状态 CHANGE_CONFIGURATION CHANGE_NETWORK_STATE CHANGE_WIFI_MULTICAST_STATE CHANGE_WIFI_STATE CLEAR_APP_CACHE CLEAR_APP_USER_DATA CONTROL_LOCATION_UPDATES DELETE_CACHE_FILES DELETE_PACKAGES DEVICE_POWER DIAGNOSTIC DISABLE_KEYGUARD 允许应用修改当前的配置,如本地设置 允许应用改变网络的连接状态 允许应用进入Wi-Fi的组播方式 允许应用改变Wi-Fi的连接状态 允许应用清除所有安装在设备上的应用的缓存 允许应用清除使用者的信息资料 允许从广播设备来更新或不更新本地的消息 允许应用删除掉缓存文件 允许应用删除掉程序包 允许低权限的访问电源管理项 允许应用诊断程序资源 允许应用禁用键盘锁 DUMP EXPAND_STATUS_BAR FACTORY_TEST FLASHLIGHT FORCE_BACK GET_ACCOUNTS GET_PACKAGE_SIZE GET_TASKS GLOBAL_SEARCH HARDWARE_TEST INJECT_EVENTS INSTALL_LOCATION_PROVIDER INSTALL_PACKAGES INTERNAL_SYSTEM_WINDOW INTERNET KILL_BACKGROUND_PROCESSES MANAGE_ACCOUNTS MANAGE_APP_TOKENS MASTER_CLEAR MODIFY_AUDIO_SETTINGS MODIFY_PHONE_STATE MOUNT_FORMAT_FILESYSTEMS MOUNT_UNMOUNT_FILESYSTEMS PERSISTENT_ACTIVITY PROCESS_OUTGOING_CALLS READ_CALENDAR 允许应用从系统服务中恢复转储的信息 允许应用扩大或缩小状态栏 如制造商测试的应用一样用终极权限用户运行 允许访问手电筒 允许应用强制的返回操作而不论是不是最终的 activity 允许应用访问账目服务中的统计清单 允许应用查找出任何程序包使用的空间 允许应用找到关于当前或最近运行的任务和在 哪些acitivities里运行 这个权限可以被内容提供者用来允许使用全程 搜索他们的数据 允许访问硬件及周边设备. 允许应用注入用户事件(键盘、触摸)到事件 中然后提供给任意的窗口 允许应用安装一个位置提供商到位置管理器中 允许应用安装程序包. 允许应用打开被部分系统用户接口使用的窗口 允许应用打开网络套接口 允许应用去呼叫 killBackgroundProcesses(String).方法 允许应用去管理帐户管理者中的重要清单 允许应用去管理(创建、销毁、顺序)在窗口管 理者中的应用 允许应用修改全局音频设定 允许改变拨打电话的状态-电源等 允许格式化可移除的存储仓库的文件系统 允许装备或解除可移除的存储仓库的文件系统 允许应用使它的activities更持久稳固 允许应用监督、限定或终止呼出的电话 允许应用读取用户的日历数据 READ_CONTACTS READ_FRAME_BUFFER READ_HISTORY_BOOKMARKS READ_INPUT_STATE READ_LOGS READ_OWNER_DATA READ_PHONE_STATE READ_SMS READ_SYNC_SETTINGS READ_SYNC_STATS REBOOT RECEIVE_BOOT_COMPLETED RECEIVE_MMS RECEIVE_SMS RECEIVE_WAP_PUSH RECORD_AUDIO REORDER_TASKS RESTART_PACKAGES SEND_SMS SET_ACTIVITY_WATCHER SET_ALWAYS_FINISH SET_ANIMATION_SCALE SET_DEBUG_APP SET_ORIENTATION SET_PREFERRED_APPLICATIONS SET_PROCESS_LIMIT SET_TIME SET_TIME_ZONE 允许应用读取用户的联系人数据 允许应用抓取屏幕和更多可获得的缓冲数据 允许应用去读取(非写)用户浏览历史和书签 允许应用去的当前键盘和控制的状态 允许应用读取低级别的系统日志文件 允许应用读取所有者的数据 允许读取电话的状态 允许应用读取短信息. 允许应用读取同步的设置 允许应用读取同步的统计数据 重新启动设备的请求 允许应用接收在系统完成启动后发出的 ACTION_BOOT_COMPLETED广播信息 允许应用去监听多媒体信息并记录和对起进行 处理 允许应用去监听短消息并记录和对起进行处理 允许应用监听WAPpush信息 允许应用记录音频信息 允许应用改变任务的关系位置 已废弃使用 允许应用发送短消息. 允许应用查看和控制activities是怎样在系统 中运行的 允许应用去控制当activities被覆盖后是否是 立即接触结束 改变动画的比例因子 设置一个应用为调试模式 允许低级别的设置屏幕的方向 已废弃 允许应用设置可以运行的最大数的应用进程 允许应用设置系统时间 允许应用设置系统时区时间 SET_WALLPAPER SET_WALLPAPER_HINTS SIGNAL_PERSISTENT_PROCESSES STATUS_BAR SUBSCRIBED_FEEDS_READ SUBSCRIBED_FEEDS_WRITE SYSTEM_ALERT_WINDOW UPDATE_DEVICE_STATS USE_CREDENTIALS VIBRATE WAKE_LOCK WRITE_APN_SETTINGS WRITE_CALENDAR WRITE_CONTACTS WRITE_EXTERNAL_STORAGE WRITE_GSERVICES WRITE_HISTORY_BOOKMARKS WRITE_OWNER_DATA WRITE_SECURE_SETTINGS WRITE_SETTINGS WRITE_SMS WRITE_SYNC_SETTINGS 3 、 sion_group 的常量 允许应用设置壁纸 允许应用设置锁定的壁纸 允许应用发出一个给所有稳定进程信号的请求 允许应用打开、关闭或使状态栏或图标失去作 用 允许应用访问内容提供者的签署认证 允许应用使用TYPE_SYSTEM_ALERT来打开窗口, 并将窗口显示于其他应用的顶端 允许应用更新设备资料信息 允许应用从管理器得到授权请求 允许应用访问震动器 允许使用电源锁定管理以使进程休眠或屏幕变 暗 允许应用去写入接入点设置 允许应用写(非读)用户的日历数据 允许应用写(非读)用户的联系人数据 允许应用写(非读)用户的外部存储器 允许应用修改Google服务地图 允许应用写(非读)用户的浏览器历史和书签 允许应用写(非读)用户的数据 允许应用写或读当前系统设置 允许应用写或读系统设置 允许应用写短消息信息 允许应用写同步设置 ACCOUNTS COST_MONEY DEVELOPMENT_TOOLS HARDWARE_CONTROLS 直接通过统计管理器访问管理的统计 可以用来让用户花钱但不需要通过与他们直接牵 涉的权限 与开发联盟特征相连的权限组 被用来提供直接访问硬件设备的权限 LOCATION MESSAGES NETWORK PERSONAL_INFO PHONE_CALLS STORAGE SYSTEM_TOOLS 五、View 1 、结构 用来允许访问用户的当前位置的权限 用来允许应用发送用户收到的被拦截的信息 用来提供访问网络服务的权限 用于提供访问用户私人数据如联系人、日历、电子 邮件等的权限 用于跟访问和修改拨号状态如截取去话信息、读取 和修改电话状态等的权限 与SD卡访问相关联的权限组 与系统API有关联的权限组 ↳ 已知直接子类: AnalogClock,ImageView,KeyboardView,ProgressBar,SurfaceView,TextView, ViewGroup,ViewStub 已知间接子类: AbsListView,AbsSeekBar,AbsSpinner,AbsoluteLayout,AdapterView Adapter>,AppWidgetHostView,AutoCompleteTextView,Button,CheckBox,CheckedTextView, Chronometer,CompoundButton,DatePicker,DialerFilter,DigitalClock,EditText, ExpandableListView,ExtractEditText,FrameLayout,GLSurfaceView,Gallery,GestureOverlayView, GridView,HorizontalScrollView,ImageButton,ImageSwitcher,LinearLayout,ListView, MediaController,MultiAutoCompleteTextView,QuickContactBadge,RadioButton,RadioGroup, RatingBar,RelativeLayout,ScrollView,SeekBar,SlidingDrawer,Spinner,TabHost,TabWidget, TableLayout,TableRow,TextSwitcher,TimePicker,ToggleButton,TwoLineListItem,VideoView, ViewAnimator,ViewFlipper,ViewSwitcher,WebView,ZoomButton,ZoomControls 2、xml属性 属性名称描述 设置背景色/背景图片。可以通过以下两种方法设置背景为透明: "@android:color/transparent"和"@null"。注意TextView默 认是透明的,不用写此属性,但是 Buttom/ImageButton/ImageView想透明的话就得写这个属 性了。 是否响应点击事件。 设置View的备注说明,作为一种辅助功能提供,为一些没有文字 描述的View提供说明,如ImageButton。这里在界面上不会有 效果,自己在程序中控制,可临时放一点字符串数据。 设置绘图时半透明质量。有以下值可设置:auto(默认,由框架 决定)/high(高质量,使用较高的颜色深度,消耗更多的内存/low (低质量,使用较低的颜色深度,但是用更少的内存)。 android:background android:clickable android:contentDescription android:drawingCacheQualit y android:duplicateParentStat e 如果设置此属性,将直接从父容器中获取绘图状态(光标,按下 等)。见下面代码部分,注意根据目前测试情况仅仅是获取绘图 状态,而没有获取事件,也就是你点一下LinearLayout时Button 有被点击的效果,但是不执行点击事件。 设置拉滚动条时,边框渐变的放向。 none(边框颜色不变), android:fadingEdge horizontal(水平方向颜色变淡),vertical(垂 直方向颜色变淡)。参照fadingEdgeLength的效 果图 android:fadingEdgeLength 设置边框渐变的长度。 android:fitsSystemWindows 设置布局调整时是否考虑系统窗口(如状态栏) 设置是否获得焦点。若有requestFocus()被调用时,后者优先处 理。注意在表单中想设置某一个如EditText获取焦点,光设置这 个是不行的,需要将这个EditText前面的focusable都设置为 false才行。在Touch模式下获取焦点需要设置 focusableInTouchMode为true。 设置在Touch模式下View是否能取得焦点。 设置长按时是否接受其他触摸反馈事件。这里模拟器没有试出效 果,难道是多点触摸?找不到资料可以找找 performHapticFeedback或HapticFeedback这个关键字的资 料看看。 给当前View设置一个在当前中的唯一编号,可以通 过调用ewById()或ewById()根据 这个编号查找到对应的View。不同的之间定义相同 的id不会冲突。格式如”@+id/btnName” 设置当前View为滚动容器。这里没有测试出效果来,ListView/ GridView/ScrollView根本就不用设置这个属性,而EdidText android:focusable android:focusableInTouchMo de android:hapticFeedbackEnab led android:id android:isScrollContainer 设置android:scrollbars也能出滚动条。 View在可见的情况下是否保持唤醒状态。常在LinearLayout使 用该属性,但是模拟器这里没有效果。 android:keepScreenOn android:longClickable android:minHeight android:minWidth 设置是否响应长按事件. 设置视图最小高度 设置视图最小宽度度 设置下方指定视图获得下一个焦点。焦点移动是基于一个在给定方 向查找最近邻居的算法。如果指定视图不存在,移动焦点时将报运 行时错误。可以设置imeOptions=actionDone,这样输入完即 跳到下一个焦点。 设置左边指定视图获得下一个焦点。 设置右边指定视图获得下一个焦点。 设置上方指定视图获得下一个焦点。 点击时从上下文中调用指定的方法。这里指定一个方法名称,一般 在Activity定义符合如下参数和返回值的函数并将方法名字符串 指定为该值即可: publicvoidonClickButton(Viewview) android:onClick=”onClickButton” 设置上下左右的边距,以像素为单位填充空白。 android:nextFocusDown android:nextFocusLeft android:nextFocusRight android:nextFocusUp android:onClick android:padding android:paddingBottom 设置底部的边距,以像素为单位填充空白。 设置左边的边距,以像素为单位填充空白。 android:paddingLeft 设置右边的边距,以像素为单位填充空白。 android:paddingRight 设置上方的边距,以像素为单位填充空白。 android:paddingTop android:saveEnabled android:scrollX android:scrollY android:scrollbarAlwaysDra w HorizontalTrack android:scrollbarAlwaysDra w VerticalTrack android:scrollbarDefault DelayBeforeFade android:scrollbarFadeDurati on android:scrollbarSize android:scrollbarStyle 设置是否在窗口冻结时(如旋转屏幕)保存View的数据,默认为 true,但是前提是你需要设置id才能自动保存,参见这里。 以像素为单位设置水平方向滚动的的偏移值,在GridView中可看 的这个效果。 以像素为单位设置垂直方向滚动的的偏移值 设置是否始终显示垂直滚动条。这里用ScrollView、ListView测 试均没有效果。 设置是否始终显示垂直滚动条。这里用ScrollView、ListView测 试均没有效果。 设置N毫秒后开始淡化,以毫秒为单位。 设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒 为单位。Android2.2中滚动条滚动完之后会消失,再滚动又会出 来,在1.5、1.6版本里面会一直显示着。 设置滚动条的宽度。 设置滚动条的风格和位置。设置值:insideOverlay、insideInset、 outsideOverlay、outsideInset。这里没有试出太多效果,以下 依次是outsideOverlay与outsideInset效果截图比较: 设置水平滚动条的drawable。 android:scrollbarThumbHori zontal 设置垂直滚动条的drawable. android:scrollbarThumbVerti cal android:scrollbarTrackHorizo 设置水平滚动条背景(轨迹)的色drawable ntal 设置垂直滚动条背景(轨迹)的drawable注意直 接 设置颜色值如”android:color/white”将得出 很难看的效果, 甚至都不理解这个属性了,这里可以 参见ApiDemos里res/drawable/ scrollbar_vertical_和 scrollbar_vertical_,设置代码为: android:scrollbarTrackVertical ="@drawable/scrollbar_vertical_track" android:scrollbarTrackVertic al android:scrollbars 设置滚动条显示。none(隐藏),horizontal(水平),vertical (垂直)。见下列代码演示使用该属性让EditText内有滚动条。 但是其他容器如LinearLayout设置了但是没有效果。 android:soundEffectsEnable d 设置点击或触摸时是否有声音效果 设置一个文本标签。可以通过()或forwith android:tag ewWithTag()检索含有该标签字符串的View。但 一般最好通过ID来查询View,因为它的速度更快,并且允 许编译时类型检查。 android:visibility 设置是否显示View。设置值:visible(默认值,显示),invisible (不显示,但是仍然占用空间),gone (不显示,不占用空间) 3、公共方法(部分) booleanawakenScrollBars() booleanawakenScrollBars(intstartDelay,booleaninvalidate) booleanawakenScrollBars(intstartDelay) intcomputeHorizontalScrollExtent() intcomputeHorizontalScrollOffset() intcomputeHorizontalScrollRange() intcomputeVerticalScrollExtent() intcomputeVerticalScrollOffset() intcomputeVerticalScrollRange() voiddispatchDraw(Canvascanvas) voiddispatchRestoreInstanceState(SparseArray voiddispatchSaveInstanceState(SparseArray voiddispatchSetPressed(booleanpressed) voiddispatchSetSelected(booleanselected) voiddispatchVisibilityChanged(ViewchangedView,intvisibility) voiddrawableStateChanged() booleanfitSystemWindows(Rectinsets) floatgetBottomFadingEdgeStrength() intgetBottomPaddingOffset() tMenuInfogetContextMenuInfo() intgetHorizontalScrollbarHeight() floatgetLeftFadingEdgeStrength() intgetLeftPaddingOffset() floatgetRightFadingEdgeStrength() intgetRightPaddingOffset() intgetSuggestedMinimumHeight() intgetSuggestedMinimumWidth() floatgetTopFadingEdgeStrength() intgetTopPaddingOffset() intgetWindowAttachCount() voidinitializeFadingEdge(TypedArraya) voidinitializeScrollbars(TypedArraya) booleanisPaddingOffsetRequired() staticint[]mergeDrawableStates(int[]baseState,int[]additionalState) voidonAnimationEnd() voidonAnimationStart() voidonAttachedToWindow() voidonConfigurationChanged(ConfigurationnewConfig) voidonCreateContextMenu(ContextMenumenu) int[]onCreateDrawableState(intextraSpace) voidonDetachedFromWindow() voidonDisplayHint(inthint) voidonDraw(Canvascanvas) finalvoidonDrawScrollBars(Canvascanvas) voidonFinishInflate() voidonFocusChanged(booleangainFocus,intdirection,Rect previouslyFocusedRect)voidonLayout(booleanchanged,intleft,inttop, intright,intbottom) voidonMeasure(intwidthMeasureSpec,intheightMeasureSpec) voidonRestoreInstanceState(Parcelablestate) ParcelableonSaveInstanceState() voidonScrollChanged(intl,intt,intoldl,intoldt) booleanonSetAlpha(intalpha) voidonSizeChanged(intw,inth,intoldw,intoldh) voidonVisibilityChanged(ViewchangedView,intvisibility) voidonWindowVisibilityChanged(intvisibility) finalvoidsetMeasuredDimension(intmeasuredWidth,int measuredHeight) booleanverifyDrawable(Drawablewho) 4 、代码 4.1android:duplicateParentState f"android:layout_width="100dp"android:layout_height="100dp"> t_width="wrap_content"android:layout_height="wrap_content"/> 4.2android:scrollbars android:layout_height="wrap_content"android:minHeight="50dp" android:background="@android:drawable/editbox_background" android:scrollbars="vertical" android:maxLines="4"> 5 、遗留问题 5.1 以下几个属性翻遍了资料试了很多次都没有效果,只能暂时搁置,以后补上,也欢迎的 大家提供意见和线索,分享大家的经验: android:scrollbarAlwaysDrawHorizontalTrack android:scrollbarAlwaysDrawVerticalTrack android:isScrollContainer 六、 ImagesView 2、结构 ↳ ↳ 已知直接子类: iew ImageButton,QuickContactBadge 已知间接子类: ZoomButton 2、 类概述 显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片 库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染) 各种显示选项。 3 、 XML 属性 属性名称 android:adjustViewBounds 描述 是否保持宽高比。需要与maxWidth、MaxHeight一起使用, 否则单独使用没有效果。 是否截取指定区域用空白代替。单独设置无效果,需要与scrollY 一起使用,效果如下,实现代码见代码部分: android:cropToPadding 设置View的最大高度,单独使用无效,需要与 setAdjustViewBounds一起使用。如果想设置图片固定大小, 又想保持图片宽高比,需要如下设置: android:maxHeight 1)设置setAdjustViewBounds为true; 2)设置maxWidth、MaxHeight; 3)设置设置layout_width和layout_height为wrap_content。 android:maxWidth 设置View的最大宽度。同上。 设置图片的填充方式。 matrix android:scaleType fitXY1 0 用矩阵来绘图 拉伸图片(不按比例)以 填充View的宽高 layout_ height :30px fitStart2 按比例拉伸图片,拉伸后 图片的高度为View的 高度,且显示在View的 左边 layout_ width :120px fitCenter3 按比例拉伸图片,拉伸后 图片的高度为View的 高度,且显示在View的 中间 fitEnd4 按比例拉伸图片,拉伸后 图片的高度为View的 高度,且显示在View的 右边 按原图大小显示图片,但 图片宽高大于View的 宽高时,截图图片中间部 center5 layout_ height :60px layout_ width 示。 当原图宽高或等于View 的宽高时,按原图大小居 中显示;反之将原图缩放 至View的宽高居中显 :80px padding :10px 分显示 按比例放大原图直至等 于某边View的宽高显 centerCrop6 centerInside7 示。 android:src 设置View的drawable(如图片,也可以是颜色,但是需要指定 View的大小) 将图片渲染成指定的颜色。见下图: android:tint 左边为原图,右边为设置后的效果,见后面代码。 4 、代码 4.1android:tint "@drawable/btn_mode_switch_bg" android:layout_width="wrap_content"android:layout_height ="wrap_content"> ="@android:color/white"android:tint="#ffff00"android:src="@draw able/btn_mode_switch_bg" android:layout_width="wrap_content"android:layout_height ="wrap_content"> 4.2android:cropToPadding llY="-10px"android:cropToPadding="true"android:src="@drawable/b tn_mode_switch_bg" android:layout_width="wrap_content"android:layout_height ="wrap_content"> scrollY="10px"android:cropToPadding="true"android:src="@drawabl e/btn_mode_switch_bg" android:layout_width="wrap_content"android:layout_height ="wrap_content"> droid:color/white"android:scrollY="10px"android:cropToPadding=" true"android:src="@drawable/btn_mode_switch_bg" android:layout_width="wrap_content"android:layout_height ="wrap_content"> roid:color/white"android:scrollY="10px"android:cropToPadding="f alse"android:src="@drawable/btn_mode_switch_bg" android:layout_width="wrap_content"android:layout_height ="wrap_content"> 七、 ImageButton 1 、结构 ↳ ↳iew ↳utton 已知直接子类: ZoomButton 2、类摘要 显示一个可以被用户点击的图片按钮,默认情况下, ImageButton 看起来像一个普通 的按钮,在不同状态(如按下)下改变背景颜色。按钮的图片可用通过 元素的 android:src 属性或 setImageResource(int) 方法指定。 要删除按钮的背景,可以定义自己的背景图片或设置背景为透明。(注:请看 原图和图片按钮,默认图片周围有按钮的背景,选中之后为黄色) 为了表示不同的按钮状态(焦点,选择等),你可以为各种状态定义不同的图片。例 如,定义蓝色图片为默认图片,黄色图片为获取时焦点时显示的图片,黄色图片为按钮被按下时 显示的图片。一个简单的方法可以做到这点——通过XML的"selector."配置,如下: 保存上面的XML到 res/drawable/ 文件夹下(注:注意文件名大小写!),将该文 件名作为一个参数设置到ImageButton的android:src属性(注:如xml文件名为 ,那么这里设置为 "@drawable/myselector" ,设置 android:background 也是可以的,但效果不太一样)。Android根据按钮的状态改变会自动的去XML中查找相应的 图片以显示。 元素的顺序很重要,因为是根据这个顺序判断是否适用于当前按钮状态,这也是为 什么正常(默认)状态指定的图片放在最后,是因为它只会在 pressed 和 focused 都判断失败 之后才会被采用。(注:例如按钮被按下时是同时获得焦点的,但是获得焦点并不一定按了按钮, 所以这里会按顺序查找,找到合适的就不往下找了。这里按钮被点击了,那么第一个将被选中, 且不再在后面查找其他状态。) 参见FormStufftutorial。 3、继承自父类的方法 publicvoidsetAlpha(intalpha) 设置 ImageButton 图片的透明度(注意不是背景图片的)。效果如图: 参数 alpha透明值0~255,0为完全透明,255为完全不透明 八、 QuickContactBadge 1 、结构 ↳ ↳iew ↳ontactBadge 2、截图 说明: 在andorid自带的ApiDomos的例子中有这个的代码: App/Activity/QuickContacktsDemo 。注意需要 _CONTACTS 权限,并且 联系人里面有数据,并且联系人需要有手机号码,不然出来是一个空的(看代码可知)。 3 、公共方法 publicvoidassignContactFromEmail(StringemailAddress,boolean lazyLookup) 指定联系人的电子邮箱地址。(注:它会先搜索这个号码,如果没有会提醒你是否添加到 联系人,参见文章1) 参数 emailAddress联系人的电子邮箱地址 lazyLookup 如果设置为 true ,将不会立即查找这个邮箱地址,直到 View 被点击时。(注:是否延迟匹配电子邮件) publicvoidassignContactFromPhone(StringphoneNumber,boolean lazyLookup) 为联系人指定一个电话号码。(注:参见文章1) 参数 phoneNumber联系人的电话号码 lazyLookup 被点击时。 publicvoidassignContactUri(UricontactUri) 指定和 QuickContactBadge 关联的联系人 URI 。注意,这里只是显示 QuickContact 窗口,并不为你绑定联系人图片。 参数 contactUri 格的 URI. publicvoidonClick(Viewv) 当View被点击时调用。 参数 v被点击的View. publicvoidsetExcludeMimes(String[]excludeMimes) 设置一组要排除不显示的 MIMI 类型列表。例如,可以隐藏 T_ITEM_TYPE类型的图标。(注:如果像如下设置: setExcludeMimes(newString[]{T_ITEM_TYPE}) 即隐藏了上面截图的第二个,仅显示电话和短信两个图标) publicvoidsetMode(intsize) 设置 QuickContact 的窗口模式。如下选项: MODE_SMALL 、 MODE_MEDIUM 、 MODE_LARGE 。(注:默认为 _MEDIUM ,设置为 MODE_LARGE 时 会同时显示联系人名称) CONTENT_URI或CONTENT_LOOKUP_URI其中一种风 如果设置为true,将不会立即查找这个电话号码,直到View 九、 ZoomButton 1、类结构 ↳ ↳iew ↳utton ↳tton publicclassZoomButtonextendsImageButtonimplements ClickListener 2 、概述 缩放按钮,实际上是很普通的两个按钮,可以简单的理解为一个ImageButton加上 一张缩放的图标。如下代码: 3、公共方法 publicbooleandispatchUnhandledMove(Viewfocused,intdirection) 对于获得焦点的 View ,这个方法是捕获箭头事件最后的机会。这就是在获取焦点的 View没有在内部处理、系统在要求的方向也不能找到一个新的View让其获得焦点时调用。 参数 focused当前焦点View direction焦点移动的方向。其中之一:FOCUS_UP,FOCUS_DOWN, FOCUS_LEFT和FOCUS_RIGHT. 返回值 如果为 true ,将清除这个 View 未处理的事件。 (注:从源码中可看出ZoomButton覆盖了父类的该方法,在super之前调用了一下 clearFocus,如下代码: publicbooleanonKeyUp(intkeyCode,KeyEventevent) 默认实现至ultiple():当点击执行时 KEYCODE_DPAD_CENTER或KEYCODE_ENTER被释放。 参数 keyCode按下按钮代表的键值,属于KeyEvent(注:KeyEvent的静 态属性)。 event 返回值 如果您处理这一事件中,返回true。如果你想允许事件被下一个接收器 处理,返回false。 publicbooleanonLongClick(Viewv) 当一个 View 被长按时调用。 参数 v 返回值 如果返回 true ,这个回调在长按时被执行了,反之返回 false. publicbooleanonTouchEvent(MotionEventevent) 实现这个方法处理触摸屏移动事件。 参数 event 返回值 如果是true,该事件是触摸,反之返回false。 publicvoidsetEnabled(booleanenabled) 设置这个 View 启用状态。 参数 enabled设置true表示启用,反之表示禁用。 publicvoidsetZoomSpeed(longspeed) (注:单独使用无实际意义,可以用来存放临时数据) 该移动事件. 被长按的View。 该KeyEvent对象,定义按钮动作 十、 CheckBox 1、类结构 publicclassCheckBoxextendsCompoundButton ↳ ↳ew ↳ ↳ndButton ↳ 2、概述 ox 复选框是一种有双状态按钮的特殊类型,可以选中或者不选中。如下是一个在 activity 中使用复选框的例子: 十一、 RadioButton 1、结构 publicclassRadioButtonextendsCompoundButton ↳ ↳ew ↳ ↳ ndButton utton ↳ 2、概述 单选按钮是一种双状态的按钮,可以选择或不选中。在单选按钮没有被选中时,用户能 够按下或点击来选中它。但是,与复选框相反,用户一旦选中就不能够取消选中(译者注:可以 通过代码来控制,界面上点击的效果是一旦选中之后就不能取消选中了)。 多个单选按钮通常与 RadioGroup 同时使用。当一个单选组( RadioGroup )包含几个 单选按钮时,选中其中一个的同时将取消其它选中的单选按钮。(译者注:示例参见 这里 ) 3、公共方法 publicvoidtoggle() 将单选按钮更改为与当前选中状态相反的状态。 如果这个单选按钮已经选中,这个方法将不切换单选按钮。(译者注:请看源码: 十二、Button 1 、结构 publicclassButtonextendsTextView ↳ ↳ew ↳ 已知直接子类 CompoundButton 已知间接子类 CheckBox,RadioButton,ToggleButton 2、概述 代表一个按钮部件。用户通过按下按钮,或者点击按钮来执行一个动作。以下是一个按钮在 activity 中典型的应用: 然后,你能在xml布局中通过button的android:onClick属性指定一个方法,以替代在 activity中为button设置OnClickListener。例如: 现在,当用户点击按钮时, Android 系统调用 activity 的 selfDestruct(View) 方法。为了 正确执行,这个方法必须是public并且仅接受一个View类型的参数。例如: 3、按钮样式 每个按钮的样式默认为系统按钮的背景 , 不同的设备、不同的平台版本有不同按钮风格。如 你不满意默认的按钮样式,想对其定制以符合您应用程序的设计,那么你能用statelist drawable 替换按钮的背景图片。一个状态列表 drawable 是一个在 XML 中定义的 drawable 资源,根据当前按钮的状态改变其图片。一旦你在 XML 中定义了一个状态列表 drawable, 你可 以将它应用于你的 android:background 属性。欲了解更多信息和示例,参见 StateList Drawable. 实现一个按钮的例子可参见 FormStufftutorial 4、XML属性 参见 Button 、 TextView 、 View 的 XML 属性。 十三、 ToggleButton 1 、结构 publicclassToggleButtonextendsCompoundButton ↳ ↳ew ↳ ↳ndButton ↳ 2 、类概述 Button 通过一个带有亮度指示同时默认文本为“ ON ”或“ OFF ”的按钮显示选中 / 未选中 状态。 3、XML属性 属性名称 android:disabledAlpha 描述 设置按钮在禁用时透明度。 android:textOff android:textOn 未选中时按钮的文本 选中时按钮的文本 4 、公共方法 publicCharSequencegetTextOff() 返回按钮未选中时的文本。 返回值 文本 publicCharSequencegetTextOn() 返回按钮选中时的文本。 返回值 文本 publicvoidsetBackgroundDrawable(Drawabled) 设置指定的可绘制(译者注:如图片)为背景,或删除背景。如果让背景有边距,这个 视图的边距就是背景的边距。然而,当背景被删除时,这个视图的边距不能被触摸。如果需要设 置边距,请使用方法 setPadding(int,int,int,int) 。 (译者注:如果设置删除背景整个就不显示了,此外设置背景后选中和被选中的图片也不 显示了,如下图:,实现代码: ) 参数 d 设置可绘制(译者注:如图片)为背景,或设置为空删除背景。 publicvoidsetChecked(booleanchecked) 改变按钮的选中状态。 参数 checkedtrue 让按钮选中, false 让按钮不选中 publicvoidsetTextOff(CharSequencetextOff) 设置按钮未选中时显示的文本。 参数 textOff文本 publicvoidsetTextOn(CharSequencetextOn) 设置按钮选中时显示的文本。 参数 textOn 5 、受保护方法 文本 protectedvoiddrawableStateChanged() 在视图状态的变化影响到所显示可绘制的状态时调用这个方法。 确保在覆盖时中调用父类方法(译者注: leStateChanged() )。 protectedvoidonFinishInflate() XML 文件加载视图完成时调用。这个函数在加载的最后阶段被调用,所有的子视图已经 被添加。 即使子类重写了onFinishInflate方法,也应该始终确保调用父类方法(译者注:super. onFinishInflate()),使系统能够调用。 十四、 ViewStub 1 、结构 publicfinalclassViewStubextendsView ↳ ↳ 2 、类概述 ub ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布 局资源文件。当ViewStub可见,或者调用inflate()函数时,才会加载这个布局资源文件。该 ViewStub在加载视图时在父容器中替换它本身。因此,ViewStub会一直存在于视图中,直到 调用setVisibility(int)或者inflate()为止。ViewStub的布局参数会随着加载的视图数一同被 添加到ViewStub父容器。同样,你也可以通过使用inflatedId属性来定义或重命名要加载的 视图对象的Id值。例如: 通过"stud"id可以找到被定义的ViewStub对象。加载布局资源文件"mySubTree" 后,ViewStub对象从其父容器中移除。可以通过id"subTree"找到由布局资源"mySubTree" 创建的View。这个视图对象最后被指定为宽120dip,高40dip。执行加载布局资源文件的推 荐方式如下: 当 inflate() 被调用 , 这个 ViewStub 被加载的视图替代并且返回这个视图对象。这使 得应用程序不需要额外执行findViewById()来获取加载视图的引用。 (译者注:这个类大概意思是用ViewStub类和在XML文件里面指定的布局资源文件 关联起来,让布局资源文件在需要使用的时候再加载上去。主要作用是性能优化,什么时候用什 么时候加载,不用在开始启动的时候一次加载,既可以加快程序的启动速度,又可以节省内存资 源。) 3 、嵌套类 接口ateListener 布局资源文件的通知的监听器。 4、XML属性 属性名称 android:inflatedId android:layout 相关方法 setInflatedId(int) setLayoutResource(int) 描述 覆盖待加载视图的id值。 为待加载的资源视图提供一个标识,在 ViewStub变为可见或获取焦点时使用它。(译 者注:要引用的布局资源文件id) 一个用于接收ViewStub已经成功加载 5、构造函数 ViewStub(Contextcontext,intlayoutResource) 创建一个与指定的布局资源文件关联的ViewStub对象。 参数 layoutResource要加载的布局资源文件的id值。 6、公共方法 publicvoiddraw(Canvascanvas) 手动在指定的画布绘制这个视图(及所有其子视图)。这个视图必须在调用这个函数之前 做好了整体布局。当要自己实现一个视图时,不要重载这个方法;相反,你应该重载 onDraw(Canvas)方法。(译者注:主要用于自定义的视图组件的方法。) 参数 canvas这个画布传到那个已渲染的视图对象。 publicintgetInflatedId() 返回加载的布局资源文件的 ID ,如果加载的布局资源文件的 id 是 NO_ID, 那么这个加 载的View将保留它原来的id值。 相关XML属性 android:inflatedId 返回值 一个正整数来标识这个要加载的视图或者NO_ID将保持加载视图原来 的id。 参见 setInflatedId(int) publicintgetLayoutResource() 返回加载的布局资源文件的id值。 相关 XML 属性 android:layout 返回值 加载到视图对象的布局资源文件id值。 参见 setLayoutResource(int) setVisibility(int) inflate() publicViewinflate() 加载 getLayoutResource() 方法标识的布局资源,并通过加载布局资源替换父容器中 它自己。 返回值 这个已加载的布局资源文件 . publicvoidsetInflatedId(intinflatedId) 设置加载视图的ID。如果这个id为NO_ID,这个加载视图保持它原来的id不变。 相关 XML 属性 android:inflatedId 参数 inflatedId 加载视图原来的id。 参见 getInflatedId() publicvoidsetLayoutResource(intlayoutResource) 设置待加载的布局资源文件,当 ViewStub 被设置为 visible 或 invisible 或调用 inflate() 时使用。这个在加载布局资源文件时创建的视图用来在父容器中替换它自己。 相关XML属性 android:layout 参数 layoutResource 参见 getLayoutResource() setVisibility(int) inflate() 一个有效的布局资源文件id值(不等于0)。 一个正整数来标识这个加载视图或者 NO_ID 将保持 publicvoidsetOnInflateListener(ateListener inflateListener) 设置成功加载布局资源文件后事件通知的监听器。 参数 inflateListener 知。 参见 ateListener publicvoidsetVisibility(intvisibility) 当可见性设置为 VISIBLE 或 INVISIBLE , inflate() 将被调用,并且加载视图资源在父容 器中替换 ViewStub 。 参数 visibility 设置为 VISIBLE (显示) ,INVISIBLE (隐藏) , 或 GONE (完全隐藏,不暂用布局位置). 参见 该 OnInflateListener 在成功加载后得到事件通 inflate() 7 、受保护方法 protectedvoiddispatchDraw(Canvascanvas) 调用这个函数去绘制这个控件的子视图。可以通过派生类重写在绘制子类之前获取控制(但 是是在他自己的视图已经被绘制完之后) 参数 canvas这个画布传到那个已渲染的视图对象。 protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec) 测量这个视图以确定其内容的高度和宽度。通过measure(int,int)来调用这个方法, 并且应该由子类重写以提高内容测量的效率和精确度。 约定:当该方法被重写时,你必须调用 setMeasuredDimension(int,int) 来存储已 测量视图的高度和宽度。否则将通过measure(int,int)抛出一个IllegalStateException异常。 调用父类的 onMeasure(int,int) 方法是一个有效的办法。 父类的实现是以背景大小为默认大小,除非MeasureSpec(测量细则)允许更大的背 景。为了更好测量内容子类应该重写onMeasure(int,int)。 如果这个方法被重写,子类有责任确保测量它的高度和宽度至少是视图的最小宽度和高 度(getSuggestedMinimumHeight()和getSuggestedMinimumWidth())。 参数 widthMeasureSpec eSpec 。 由于父类有横向空间要求,参见 heightMeasureSpec eSpec。 十五、 GridView 1 、结构 由于父类有纵向空间要求,参见 publicfinalclassGridViewextendsAbsListView ↳ ↳oup ↳ rView r> ↳ tView ↳ ew 2、类概述 一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个 ListAdapter和该组件进行关联。比如android手机中显示的应用: 比如实现九宫格图,用GridView是首选,也是最简单的。 3、构造函数 publicGridView(Contextcontext) 创建一个默认属性的GridView实例 publicGridView(Contextcontext,AttributeSetattrs) 创建一个带有 attrs 属性的 GridView 实例 publicGridView(Contextcontext,AttributeSetattrs,intdefStyle) 创建一个带有 attrs 属性,并且指定其默认样式的 GridView 实例 4、XML属性 属性名称 android:columnWidth 描述 设置列的宽度。关联的方法为:setColumnWidth(int) 设置此组件中的内容在组件中的位置。可选的值有:top、 bottom、left、right、center_vertical、fill_vertical、 center_horizontal、fill_horizontal、center、fill、 clip_vertical可以多选,用“|”分开。关联方法: setGravity(intgravity) 两列之间的间距。关联方法:setHorizontalSpacing(int) 列数。关联方法:setNumColumns(int) 缩放模式。关联方法:setStretchMode(int) 两行之间的间距。关联方法:setVerticalSpacing(int) android:gravity android:horizontalSpacing android:numColumns android:stretchMode android:verticalSpacing 5 、公共方法 publicListAdaptergetAdapter() 获得与此组件相关的适配器 .. 返回值 ListAdapter 适配器实例 publicintgetStretchMode() 获得GridView的缩放模式.. publicbooleanonKeyDown(intkeyCode,KeyEventevent) 默认由ultiple()实现,如果视图是可用的并且是可点击的, 那么传入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是执行的是按下视图操 作。 参数 keyCode一个表示按下操作的键值. event表示按钮事件的对象. 返回值 如果你认为已经完成事件处理 , 不想让让下一个处理器来处理此事件,则返回 true, 否则返回 false 。 publicbooleanonKeyMultiple(intkeyCode,intrepeatCount,KeyEventevent) 默认由ultiple()实现,总是返回false(不处理此事 件)。 参数 keyCode键值. repeatCount 该动作发生的次数 . event 事件对象 . 返回值 如果你认为已经完成事件处理 , 不想让让下一个处理器来处理此事件,则返回 true, 否则返回false。 publicbooleanonKeyUp(intkeyCode,KeyEventevent) 默认由ultiple()实现,如果视图是可用的并且是可点击 的,那么传入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是执行的是点击视图 操作。 参数 keyCode键值. event事件对象. 返回值 如果你认为已经完成事件处理,不想让让下一个处理器来处理此事件,则返回true, 否则返回false。 publicvoidsetAdapter(ListAdapteradapter) 设置GridView的数据。 参数 adapter 为 grid 提供数据的适配器 publicvoidsetColumnWidth(intcolumnWidth) 设置 GridView 的列宽 . 参数 columnWidth列的宽度,以像素为单位 publicvoidsetGravity(intgravity) 设置控件内容的位置,默认值为:. 参数 gravity 位置值 publicvoidsetHorizontalSpacing(inthorizontalSpacing) 设置列间距. 参数 horizontalSpacing 列间距值 publicvoidsetNumColumns(intnumColumns) 设置 grid 的列数 参数 numColumns列数值. publicvoidsetSelection(intposition) 设置选中的条目. 参数 position. 数据条目在列表中的索引值(从 0 开始),如果在可触摸的模式下, 在该索引值下的条目将不会被选中,但是该索引值仍然指向该条目。 publicvoidsetStretchMode(intstretchMode) 设置 grid 中的条目以什么缩放模式去填充空间。 . 参数 stretchMode可选值:NO_STRETCH,STRETCH_SPACING, STRETCH_SPACING_UNIFORM,或STRETCH_COLUMN_WIDTH publicvoidsetVerticalSpacing(intverticalSpacing) 设置行间距. 参数 verticalSpacing间距值,以像素为单位 6、代码示例 下面给出一个小例子 , 先看效果: a). publicclassGridView01extendsActivity{ privateGridViewgridview; @Override protectedvoidonCreate(BundlesavedInstanceState){ //TODOAuto-generatedmethodstub te(savedInstanceState); setContentView(ew); //准备要添加的数据条目 List
版权声明:本文标题:ANDROID UI API中文文档_图文 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713384921a631953.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论