美文网首页
第二行代码——3.UI

第二行代码——3.UI

作者: 晨呆清丶 | 来源:发表于2018-08-20 15:20 被阅读10次

    一、控件
    1、match_parent:让控件大小和父布局的大小一样(官方推荐)
    fill_parent:同上
    wrap_parent:让当前控件的大小能够刚好包含住里面的内容
    2、TextView中的文字默认左上角对齐
    在<TextView>标签中
    使用android:gravity来指定文字的对齐方式,可选值有top,bottom,left,right,center等,可以用 | 来同时指定多个值
    使用android:textSize来指定文字大小,单位(sp)
    使用android:textColor来指定文字颜色
    3、Button
    在<Button>标签中,系统会自动对Button中所有英文字母自动进行大小写转换,可以使用android:textAllcaps="false"来禁用
    可以用匿名类和接口两种方法来为button注册监听器,匿名类方法比较简单
    4、EditText
    允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理
    使用android:hint指定一段提示性文本
    使用android:maxLines="2"指定EditText的最大行数为两行,当输入内容超过两行时,文本将会向上滚动,EditText不会继续拉伸
    5、ImageView
    用于在界面上展示图片
    6、ProgressBar
    用于在界面上显示一个进度条
    通过style属性指定不同的样式

    image.png
    所有控件都有android:visibility属性,不指定默认为可见,visible表示可见,invisible表示不可见,gone不仅不可见而且不再占用屏幕任何空间
    还可以通过代码来设置控件的可见性,用setVisibility()方法,可以传入view.VISIBLE,View.INVISIBLE和View.GONE三种值

    控件用法总结:①给控件定义id②指定宽度高度③加入控件特有属性
    二、布局
    1、LinearLayout
    线性布局,将其所包含的控件在线性方向上依次排列
    通过android:orientation属性,vertical为垂直排列,horizontal为水平排列
    使用horizontal时,内部的控件就不能把宽度设置为match_parent,这样的话单独一个控件就会将整个水平方向占满;使用vertical时则不能将高度设置为match_parent

    android:layout_gravity属性可以指定控件在布局中的对齐方式
    可用值有:top、center_vertical、bottom
    当LinearLayout的方向是horizontal时,只有垂直方向上的对齐方式才会起作用;当值为vertical时,只有水平方向上的对齐方式才会起作用

    2、RelativeLayout
    相对布局,通过相对定位的方式让控件出现在布局的任何位置
    相对于父布局


    一目了然 效果

    相对于控件

    相对于Button3 效果

    3、FrameLayout
    帧布局,没有方便的定位方式,所有的控件都会默认放在布局的左上角

    运行效果

    类似LinearLayout,可以通过android:layout_gravity来指定控件在布局中的位置

    指定layout_gravity的效果

    由于定位方式欠缺,所以帧布局应用较少,但在碎片中会用到。

    4、百分比布局
    由于LinearLayout本身已经支持按比例控制控件的大小了,因此百分比布局只为FrameLayout及RelativeLayout提供了功能扩展,提供了PercentFrameLayout和PercentRelativeLayout这两种全新布局。
    在build.gradle中添加依赖,使所有的Android版本都能使用新布局。添加依赖时要对应你所使用的sdk版本。

    为gradle添加依赖 PercentFrameLayout

    使用app:layout_widthPercent和app:layout_heightPercent指定按钮的宽度和高度为布局的50%,这里之所以能使用app的前缀,是因为刚才定义了app的命名空间。

    使用layout_gravity来指定按钮的位置

    PercentFrameLayout效果图

    三、自定义布局
    1、所有的控件都是直接或间接继承自View,所有的布局都是直接或间接继承自ViewGroup,而ViewGroup又是一种特殊的View,它可以包含很多子View和子ViewGroup,是一个用于放置控件和布局的容器

    title.xml代码
    android:layout_margin来指定控件在上下左右方向上偏移的距离
    标题栏布局完成后在activity_main.xml中通过include引入
    代码
    最后在MainActivity中将自带的标题栏隐藏掉 代码 引入标题栏布局的效果

    相关文章

      网友评论

          本文标题:第二行代码——3.UI

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