基础Android知识Android技术知识

1.Android控件属性收集

2017-01-18  本文已影响117人  android_赵乐玮

最近在做ui方面的工作,收集这些属性方便日后快速查找

具体详情还是看官方文档比较好(没有比官网更好的文档):
https://developer.android.com/index.html

@autho: zlw email: 739043667@qq.com 欢迎交流


目录:
一、TextView、EditText 属性
二、CardView 常见属性
三、ToolBar 的属性

一、TextView、EditText 属性

【输入样式】

1.android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
2.android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
4.android:cursorVisible设定光标为显示/隐藏,默认显示。
5.android:digits设置允许输入哪些字符。如“1234567890.+-*/% ()”
6.android:editorExtras设置文本的额外的输入数据。
7.android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—?省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间; ”marquee” ——以跑马灯的方式显示(动画横向移动)
 android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。

【文字样式】

8.android:capitalize设置英文字母大写类型。-EditView
9.android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。
10.android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度
android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
11.android:maxLength限制显示的文本长度,超出部分不显示。
12.android:password以小点”.”显示文本
android:phoneNumber设置为电话号码的输入方式。
13.android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。
14.android:shadowDx设置阴影横向坐标开始位置。
android:shadowDy设置阴影纵向坐标开始位置。
android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
15.android:textColorLink文字链接的颜色.
16.android:textScaleX设置文字之间间隔,默认为1.0f。
17.android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
18.android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]

【段落】

19.android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines设置文本的最大显示行数,超出部分自动换行,超出行数将不显示。
android:minLines设置文本的最小行数,与lines类似。
20. android:lineSpacingExtra设置行间距。
android:lineSpacingMultiplier设置行间距的倍数。如”1.2”
21.android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。

【功能】

22. android:freezesText设置保存文本的内容以及光标的位置。
23.android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。
24.android:imeActionId设置IME动作ID。
25.android:imeActionLabel设置IME动作标签。
26.android:linksClickable设置链接是否点击连接,即使设置了autoLink。
27.android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。
28.android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。
29.android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。

特殊示例:

  1. 修改光标样式
android:textCursorDrawable="@drawable/edittext_cursor"//修改光标样式
android:cursorVisible="true"
  1. MD 风格 (design包)
<android.support.design.widget.TextInputLayout>...
  1. 键盘提交EditView
//EditText样式

android:imeOptions="actionSend"
android:inputType="text" />

//事件监听
editView.setOnKeyListener(new View.OnKeyListener() {

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
onClickCommit();
}return false;}});

4.TextView 自由复制

android:textIsSelectable="true"

二、CardView属性

app:cardBackgroundColor这是设置背景颜色
app:cardCornerRadius这是设置圆角大小
app:cardElevation这是设置z轴的阴影
app:cardMaxElevation这是设置z轴的最大高度值
app:cardUseCompatPadding是否使用CompatPadding
app:cardPreventCornerOverlap是否使用PreventCornerOverlap  设置内边距,在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠
app:contentPadding 设置内容的padding
android:foreground="?android:attr/selectableItemBackground"  波纹效果和clickable一起使用

--注意事项:
*cardview默认不允许点击,如若点击需设置clickable=true

三、ToolBar 的使用

https://developer.android.com/reference/android/support/v7/widget/Toolbar.html

常用示例:

app:contentInsetStart 设置toolbar前边距(默认不为0)
app:title 
app:logo

--注意事项:
*使用Toolbar必须去掉默认导航栏:
supportRequestWindowFeature(Window.FEATURE_NO_TITLE)


*附录
单位换算公式:

    px = (density/160)dp     //density一般为3个常用固定值240/160/120     
    1in=72pt    //in:英寸
    1dp = 1sp
    density 单位: px/in    理解为:  density = px/in
    ==》px = density * in
 //系数速查表
低(120dpi) 中(160dpi) 高(240dpi) 超高(320dpi) 超超高(480dpi)
低(0.75)   中(1)、     高(1.5)、  超高(2)、   超超高(3)           
系数公式:  系数 =density / 160dpi
举个栗子:
160dpi :1px = 1dp ;  240dpi :2px = 1dp
 
换算公式: dp = 系数 * px    ==>  dp = (density / 160) * px   

pt换算公式:
1in=72pt
density = px/in
 ==>   density = px/72pt
==>  pt = px/(72*density)
============================
综上所述:
pt = px/(72*density)                        或            pt = px/(72*160*系数)               
dp = (density / 160) * px                  或            dp = 系数 * px                (常用)
>>    pt =   (72*density *density /160)dp    或           pt  =  1/(72*160*系数*系数) dp            

   




上一篇下一篇

猜你喜欢

热点阅读