1.Android控件属性收集

作者: android_赵乐玮 | 来源:发表于2017-01-18 10:00 被阅读117次

    最近在做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            
    
       
    
    
    
    
    

    相关文章

      网友评论

        本文标题:1.Android控件属性收集

        本文链接:https://www.haomeiwen.com/subject/ntrmbttx.html