美文网首页
Android学习(二)- 组件

Android学习(二)- 组件

作者: MA木易YA | 来源:发表于2019-06-22 22:19 被阅读0次

1. Androidq启动流程

    系统运行程序时,首先会去访问AndroidMainfest.xml文件,文件内配置了应用程序所使用的所有组件,决定启动的activity,然后生成一个MainActivity对象,调用里面的oncreate()方法,oncreate()方法会去调用activity_main.xml,此文件配置了页面的布局方式,以此确定activity的显示内容。

2. View

    View类是所有控件类的父类,通常使用它的子类,每个组件都有自己对应的类,可以用findViewById找到他们,但是此方法返回的是View类型,需要向下转型

组件属性

I. id——唯一标识
android:id = "@+id/user" —— user为指定的id
II. background——背景(图或者颜色)
android:background = "@mipmap/bg"—— 存在指定目录下的图
android:background = "#FF6600" —— 16进制RGB值
III. padding——内边距
android:padding = "16dp"—— 用dp作为单位
android:padding = "@dimen/activity_margin"—— activity_margin是尺寸资源变量,需自定义

IV. margin——外边距
android:margin = "16dp"—— 用dp作为单位
android:margin = "@dimen/activity_margin"—— activity_margin是尺寸资源变量,需自定义

29($032$M31Z2U)3R95@1FD.png
  • 直接设置padding或者margin则定义了各个方位属性值一致,也可以设置单一方位,如上图,此外,paddingStart是和paddingLeft对应的,paddingEnd是和paddingRight对应的

3. ViewGroup

控制View如何摆放, 继承自View嘞,扩展View的功能用作容纳其他组件的容器

ViewGroup控制其子组件分布时依赖的内部类

I. ViewGroup.LayoutParams

用作控制布局的高度和宽度

android:layout:layout-height/width=

  • 后面的值可以跟具体的数值也可以使用系统定义的常量:
    • FILL_PARENT:匹配父容器,和父容器相同
    • MATCH_PARENT :匹配父容器,和父容器相同
    • WRAP_CONTENT:包裹自身内容,根据自身内容确定
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/bg"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.mingrisoft.MainActivity" >
</FrameLayout>

II. ViewGroup.MarginLayoutParams

控制子组件外边距

image.png
  • 属性值和padding一致,值或者变量
  • 使用layout_marginStart等量词时,对系统最低版本有要求,sdk>api17
  • View和ViewGroup可以相互嵌套

相关文章

网友评论

      本文标题:Android学习(二)- 组件

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