1. Android的基础布局

LinearLayout 线性布局

RelativeLayout 相对布局

TableLayout 表格布局

FrameLayout 帧布局(框架布局)

ConstrantLayout 约束布局 (Android Studio默认布局) 用于拖拽的

2. LinearLayout 线性布局

2.1 怎么将Android Studio默认的ConstrantLayout改为LinearLayout

1. 在design页面下->component tree->ConstrainLayout右键->Convert view...->选择LinearLayout 点击apply
1. 在code页面下->直接修改代码 将 androidx.constraintlayout.widget.ConstraintLayout  改为 LinearLayout

2.2 线性布局有两种:

  1. 水平的线性布局 所有控件都是水平挨个排布

    如果没有android:orientation属性的存在

    或者

    android:orientation="horizontal"
  2. 垂直的线性布局 所有控件都是垂直挨个排布

    android:orientation="vertical"

tips: 在android中,所有在页面上显示的东西,必须具备两个属性,这两个属性是宽和高

android:layout_width 宽度

Android:layout_height 高度

对于宽度和高度,他们的值有三个

1. wrap_content  按照内容自适应
1. match_parent  按照父容器尺寸填满
1. 50dp                  数值(用的地方很单一)               

2.3 比重:

android:layout_weight
​
如何算总比重:  看同一父亲且同一级的各个控件的weight
一旦weight属性生效,android:layout_width失效

2.4 布局排布:

android:gravity                  内容位置改变
​
android:layout_gravity           本身位置改变  

2.5 分隔线:内部的线

android:divider="@color/black"
android:showDividers="middle"

2.6 嵌套线性布局结构

<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">
​<LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"></LinearLayout>
​
</LinearLayout>

3. RelativeLayout 相对布局

2.1 怎么将Android Studio默认的ConstrantLayout改为RelativeLayout

1. 在design页面下->component tree->ConstrainLayout右键->Convert view...->选择LinearLayout 点击apply
1. 在code页面下->直接修改代码 将 androidx.constraintlayout.widget.ConstraintLayout  改为 RelativeLayout

2.2相对布局可以让子控件相对于兄弟控件或父控件进行布局,可以设置子控件相对于兄弟控件

或父控件进行上下左右对齐

2.3 、相对于父控件,例如:android:layout_alignParentTop=“true”

android:layout_alignParentTop      控件的顶部与父控件的顶部对齐;

android:layout_alignParentBottom  控件的底部与父控件的底部对齐;

android:layout_alignParentLeft      控件的左部与父控件的左部对齐;

android:layout_alignParentRight     控件的右部与父控件的右部对齐;

2.4 相对给定Id控件,例如:android:layout_above=“@id/**”

android:layout_above 控件的底部置于给定ID的控件之上;

android:layout_below     控件的底部置于给定ID的控件之下;

android:layout_toLeftOf    控件的右边缘与给定ID的控件左边缘对齐;

android:layout_toRightOf  控件的左边缘与给定ID的控件右边缘对齐;

android:layout_alignBaseline  控件的baseline与给定ID的baseline对齐;

android:layout_alignTop        控件的顶部边缘与给定ID的顶部边缘对齐;

android:layout_alignBottom   控件的底部边缘与给定ID的底部边缘对齐;

android:layout_alignLeft       控件的左边缘与给定ID的左边缘对齐;

android:layout_alignRight      控件的右边缘与给定ID的右边缘对齐;

2.5   居中,例如:android:layout_centerInParent=“true”

android:layout_centerHorizontal 水平居中;

android:layout_centerVertical    垂直居中;

android:layout_centerInParent  父控件的中央;

4. 常用的控件

TextView 文本控件 给用户一个文字性的提示

EditText 输入文本控件

ImageView 图片控件 显示图片

Button 按钮

TextView

  1. 掌握常用的属性

  2. 掌握资源文件的使用

    1. 如何创建资源文件,并对资源文件编程

    2. 使用资源文件

  3. 带图片的TextView

    android:drawableTop

重点1:怎么样设置一个shaper(皮肤)

在drawable文件夹下设置 xml

重点2:带图片的TextView

创建资源文件

首先我们先在drawable下面新建一个xml文件,先右击res文件夹选择“new”,然后选择Android Resource File
接下来会弹出一个窗口,注意Resource Type我们要选择drawable,然后名字的话,自己想取什么都可以,只要记得这个文件是用来干啥的就行,那我就给它取名underline了,好,这样我们就建完成啦。

这时候我们在res下面的drawable里面就看见我们新建的xml文件啦,我们就可以来设计想要的边框了。

我们点进这个xml文件,输入如下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <solid android:color="#ffffff" />
    <stroke android:width="2dp"
        android:color="#D54FB8"/>
</shape>

带图片的Testview

<TextViewandroid:id="@+id/textView8"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:gravity="center_horizontal"android:drawableTop="@drawable/图片名称"android:text="名字" />

Androd 基本布局(其一)相关推荐

  1. 安卓动画全解:补间动画(视图动画)、布局动画、属性动画、逐帧动画。动画Animation属性、Alpha属性、Scale属性、Translate属性、Rotate属性,动画集AnimationSet

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓动画全解:补间动画(视图动画).布局动画.属性动画.逐帧动画. 主要内容包含:动画Animation属性.Alpha属性.Scale属性.Tran ...

  2. 点击改变div高度_css实现div两列布局(两种方法)

    一.应用场景 左侧一个导航栏宽度固定,右侧内容根据用户浏览器窗口宽度进行自适应 二.思路 首先把这个问题分步解决,需要攻克以下两点: 1.让两个div并排到一行 2.让一个div宽度固定,另个div占 ...

  3. Android布局优化之include、merge、ViewStub

    include:引入重复使用的相同布局 merge:减少include布局的层级,将子元素直接添加到merge标签的parent中 ViewStub:其实就是一个宽高都为0的一个View,它默认是不可 ...

  4. Laravel Dcat-admin 详情页多栏布局开发

    背景 随着 dcat-admin 越来越多的人使用,相信有许多跟我一样热爱这个项目的的人最后也会参与到这个项目中来,从使用者到项目的维护者,可以为项目贡献一份自己的力量.我以后也会将维护这个项目的一些 ...

  5. [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解

    模板布局 公共部分通常定义为模板布局:如页眉,页脚,公共导航栏.菜单等. 模板布局定义方法 布局页中用 th:fragment 定义模板片段,其他页面用 th:insert 引用片段 例如:foote ...

  6. java gui 案例_JavaGui入门—布局的嵌套使用附实例

    JavaGui布局 常见布局 BorderLayout(边界布局) BorderLayout.EAST BorderLayout.WAST BorderLayout.NORTH BorderLayou ...

  7. HarmonyOS 使用DevEcoStudio创建一个xml布局以及引用布局

    文字描述创建 打开DevEco ,entry > src > main > resources > base",右键点击"layout"文件夹,选 ...

  8. HarmonyOS UI开发 AdaptiveBoxLayout(自适应盒子布局) 的使用

    AdaptiveBoxLayout 是什么 AdaptiveBoxLayout 是自适应盒子布局,该布局提供了在不同屏幕尺寸设备上的自适应布局能力,主要用于相同级别的多个组件需要在不同屏幕尺寸设备上自 ...

  9. HarmonyOS UI开发 TableLayout(表格布局) 的使用

    TableLayout 是什么 TableLayout  是表格布局,就是使用表格的方式划分子组件, 个人感觉应该也不是常用的布局,常用的还是选择DirectionalLayout和Dependent ...

  10. HarmonyOS UI开发 PositionLayout(位置布局) 的使用

    PositionLayout 是什么 PositionLayout 是位置布局,在PositionLayout中,子组件通过指定准确的x/y坐标值在屏幕上显示.(0, 0)为左上角:当向下或向右移动时 ...

最新文章

  1. Windows下使用IDEA+Maven搭建本地Hadoop环境
  2. 378. Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
  3. .NET体系中的源程序安全问题
  4. NumPy之:标量scalars
  5. Web页面减肥,慎用VS的自动格式化功能!
  6. 计算机应用基础的听课记录,听课记录-计算机应用基础
  7. MySQL_多表链接查询
  8. python实现文件共享_基于Python的分布式文件共享系统的实现
  9. mysql_install_db创建空库_MySQL数据库的初始化mysql_install_db
  10. π型滤波频率计算_一文看懂π型滤波电路原理
  11. Redis,真的不完美!
  12. 初学 Delphi 嵌入汇编[13] - 地址参数用 [] 取值
  13. Container With Most Water(C++)
  14. 用R进行meta分析(meta包)
  15. 小波变换matlab加密,混沌和小波变换的图像加密压缩算法
  16. 大学物理笔记——第二章质点动力学
  17. serviceWorker 服务器与浏览器之间的代理
  18. 最优解问题——PuLP解决线性规划问题(一)
  19. CMMI推广中EPG常犯错误
  20. faster-rcnn 训练自己的数据集

热门文章

  1. 测试小兵成长记:中庸之道
  2. 实现SDT(software-defined Things)的IOT案例(2)
  3. 如何修改电驴服务器地址,emule设置连接服务器地址
  4. 如何自己制作CHM电子书?
  5. 推荐几个常用的Python扩展工具包
  6. matlab屏保弹球,连续时间下的弹球建模
  7. matlab仿真integrator,弹球的仿真 - MATLAB Simulink - MathWorks 中国
  8. (译)在cocos2d里面如何使用物理引擎box2d:弹球
  9. java---集合类---ArrayList类
  10. C语言基础知识 ---------- 指针(pointer)、结构(structure)、字串(Char)