Androd 入门
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 线性布局有两种:
-
水平的线性布局 所有控件都是水平挨个排布
如果没有android:orientation属性的存在
或者
android:orientation="horizontal"
-
垂直的线性布局 所有控件都是垂直挨个排布
android:orientation="vertical"
tips: 在android中,所有在页面上显示的东西,必须具备两个属性,这两个属性是宽和高
android:layout_width 宽度
Android:layout_height 高度
对于宽度和高度,他们的值有三个
- wrap_content 按照内容自适应
- match_parent 按照父容器尺寸填满
- 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 嵌套线性布局结构
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</LinearLayout>
3.1基本框架:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/img1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:src="@drawable/pic1"/>
...
</RelativeLayout>
3.2属性:
- 相对于兄弟元素
属性名称 | 属性含义 |
---|---|
android:layout_below=“@id/aaa” | 在指定View的下方 |
android:layout_above=“@id/aaa” | 在指定View的上方 |
android:layout_toLeftOf=“@id/aaa” | 在指定View的左边 |
android:layout_toRightOf=“@id/aaa” | 在指定View的右边 |
android:layout_alignTop=“@id/aaa” | 与指定View的上边界一致 |
android:layout_alignBottom=“@id/aaa” | 与指定View下边界一致 |
android:layout_alignLeft=“@id/aaa” | 与指定View的左边界一致 |
android:layout_alignRight=“@id/aaa” | 与指定View的右边界一致 |
- 相对于父元素
属性名称 | 属性含义 |
---|---|
android:layout_alignParentLeft=“true” | 在父元素内左边 |
android:layout_alignParentRight=“true” | 在父元素内右边 |
android:layout_alignParentTop=“true” | 在父元素内顶部 |
android:layout_alignParentBottom=“true” | 在父元素内底部 |
对齐方式
属性名称 | 属性含义 |
---|---|
android:layout_centerInParent=“true” | 居中布局 |
android:layout_centerVertical=“true” | 垂直居中布局 |
android:layout_centerHorizontal=“true” | 水平居中布局 |
- 间隔
属性名称 | 属性含义 |
---|---|
android:layout_marginBottom=“” | 离某元素底边缘的距离 |
android:layout_marginLeft=“” | 离某元素左边缘的距离 |
android:layout_marginRight =“” | 离某元素右边缘的距离 |
android:layout_marginTop=“” | 离某元素上边缘的距离 |
android:layout_paddingBottom=“” | 往内部元素底边缘填充距离 |
android:layout_paddingLeft=“” | 往内部元素左边缘填充距离 |
android:layout_paddingRight =“” | 往内部元素右边缘填充距离 |
android:layout_paddingTop=“” | 往内部元素右边缘填充距离 |
4. 常用的控件
TextView 文本控件 给用户一个文字性的提示
EditText 输入文本控件
ImageView 图片控件 显示图片
Button 按钮
TextView
-
掌握常用的属性
-
掌握资源文件的使用
- 如何创建资源文件,并对资源文件编程
- 如何创建资源文件,并对资源文件编程
```
store:设置边框
corners:设置边框弧形半径
gradient:设置渐变色
solid:设置填充色
padding:设置内边距
```
-
使用资源文件
android:background="@drawable/设置的名字"
-
带图片的TextView
android:drawableTop :在文字上边 android:drawableBottom :在文字下边 android:drawableLeft : 在文字左边 android:drawableRight: 在文字右边
重点1:怎么样设置一个shaper(皮肤)
在drawable文件夹下设置 xml
重点2:带图片的TextView
自己探索)
-
带图片的TextView
android:drawableTop :在文字上边
android:drawableBottom :在文字下边
android:drawableLeft : 在文字左边
android:drawableRight: 在文字右边
重点1:怎么样设置一个shaper(皮肤)
在drawable文件夹下设置 xml
重点2:带图片的TextView