UI布局知识积累

来源:互联网 发布:淘宝店铺白颜色代码 编辑:程序博客网 时间:2024/04/28 19:59

ListView

  • 去掉ListView边缘模糊效果
    android:fadingEdge=”none”
    (在api 14 之后由android:requiresFadingEdge取代)
    android:fadingEdgeLength=”0dp”

  • android:overScrollMode=”never” 去掉滑动到上下端产生的渐变效果

Button常见属性:

  • 默认高度问题:
    Button是TextView的子类,但是Button默认设置了最小高度,所以,在使用自定义backgroud属性时,当paddingTop和paddingBottom
    设置的值小于这个默认最小高度时,paddingTop和paddingBottom的设置是无效的,此时,解决办法如下,设置minHeight为0:
    android:minHeight=”0dp”

EditText

  • android:imeOptions
    actionNone : 回车键,按下后光标到下一行
    actionGo : 去往
    actionSearch : 搜索
    actionSend : 发送
    actionNext : 下一步
    actionDone : Done,隐蔽软键盘,即使不是最后一个文本输入框
    (注:注意:必须配合android:inputType=”text” 和 android:singleLine=”true”至少其中的一个一起使用才能奏效)

scrollView常见属性:

  • android:fadingEdge:隐藏滚动两边的阴影,但是实际没有看出什么效果。
  • android:scrollbars:设置滚动条的方向
  • android:scrollbarThumbVertical:设置垂直滚动条的样式
  • android:scrollbarStyle:有四个值 insideOverlay、insideInset、outsideOverlay、outsideInset
    1.insideOverlay:如果ScrollView设置了padding属性,则滚动条在padding内,并且在View的上层显示。
    2.insideInset:如果ScrollView设置了padding属性,则滚动条在padding内,并且在View的旁边显示。
    3.outsideOverlay:滚动条在padding外,并且滚动条在View的上层显示。
    4.outsideInset : 滚动条子在padding外,并且在View的旁边显示。
  • android:overScrollMode=”never” 去掉阻尼效果

TextView常见属性:

  • android:ellipsize=”end” 当单行文本文字过多时,会在后边加上省略号。但是实际上只设置 android:singleLine=”true” 也默认有这种效果。
  • android:includeFontPadding=”false” 消除文字上下方的留白。(没有实现)

ImageView常见属性:

ScaleType:有8种值 。先看下效果
效果图

  • center:将图以原尺寸大小进行展示,并且中心点在图片的中间
  • centerCrop:图片进行伸缩,放置在imageView的中心,并且图片会填充满imageView,但是会存在显示不全。
  • centerInside:图片伸缩显示,放置在ImageView的中间,图片完全显示。
  • matrix:用matrix来绘制图片,搜集到的用法:手势伸缩图片
  • fit center,fit start,fit end 这几个则是将图片分别放置在ImageView的中间,上部,底部。
  • fit XY:图片会伸缩以填满ImageView
  • centerInside和fit center的区别:从上图可以看出效果一样,但是实际上fit center是不管图片比ImageView大还是小,都会进行伸缩以适应ImageView。但是 centerInside则是当图片尺寸小于ImageView的时候不会伸缩图片,直接放置在中心处,但是当图片比ImageView大的时候,则会对图片进行缩放显示。

  • centerCrop和centerInside的区别:前者首先满足充满ImageView,后者不会满足充满ImageView。但是图片会完全显示出来,前者图片可能不会完全显示出来

  • android:adjustViewBounds:
    使用时必须是宽度或者高度有一个是定值,另外一个是自适应。比如图片的尺寸是50px*50px,ImageView的宽度是100px,那么这个图会直接放在ImageView中,但是ImageView的高度会和图片的高度一致。
    是否保持高宽比。ImageView限定宽度或者高度中的一个属性后,另一个属性是否自动调整以保持图片的高宽比例!
    常用于显示广告Banner图:宽度设为match_parent,高度设为wrap_content,广告图使用最大尺寸如1080*1920,这样不会出现各种适配问题!
    参考:http://blog.csdn.net/pingchuanyang/article/details/9252689

ViewGroup相关属性

  • android:descendantFocusability
    属性的值有三种:

    beforeDescendants:viewgroup会优先其子类控件而获取到焦点afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
  • android:filterTouchesWhenObscured
  • android:filterTouchesWhenObscured是true的话,则表示其他视图在该视图之上,导致该视图被隐藏时,该视图就不再响应触摸事件。
  • android:clipChildren=”false” 默认的值是true,既如果子类的宽度或则高度超过了父类,那么进行裁剪,当设置为false的时候,不会进行裁剪。
0 0
原创粉丝点击