Android布局以及各自作用
1.LinearLayout实现效果以及属性,权重
线性布局
< LinearLayout 线性布局
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
命名空间,只在根布局中使用
android:layout_width="match_parent" 布局宽的属性
match_parent指的是充满整个父容器
wrap_content 自适应,会根据自身的大小来确定自己的宽或高
android:layout_height="match_parent"布局高的属性
android:orientation="horizontal"
规定内容组件排列方式为水平 vertical(垂直)
android:gravity=""
控制内部组件的对齐方式 bottom(底部)|right(右边)
center_vertical(垂直居中)+center_horizontal(水平居中)=center(中心位置)
android:background="@drawable/kugou" 为组件添加一个背景
>
2.RelativeLayout实现效果以及属性,margin和padding的区别
相对布局,放置的控件默认都在左上角,所有控件都堆积到一起,我们要给每一个控件设定位置,控件才能排布好
<RelativeLayout 子元素相对父容器来摆放:
android:layout_alignParentLeft="true" 和父容器左对齐
android:layout_alignParentRight="true" 和父容器右对齐
android:layout_alignParentTop="true" 和父容器顶部对齐
android:layout_alignParentBottom="true" 和父容器底部对齐
android:layout_centerHorizontal="true" 水平居中
android:layout_centerVertical="true" 垂直居中
android:layout_centerInParent="true" 中心位置
>
margin: 组件外边距,其他控件相对于本控件的边缘距离
<RelativeLayout
android:layout_margin="20dp" 距离上下左右20dp
android:layout_marginLeft="20dp" 距离左边20dp
android:layout_marginTop="30dp" 距离上边30dp
android:layout_marginRight="40dp" 距离右边40dp
android:layout_marginBottom="50dp" 距离下边50dp
>
padding: 组件内边距, 控件中的子元素,相对于这个控件的边距距离
<RelativeLayout
android:padding="10dp" 距离内部内容上下左右都是10dp
android:paddingLeft="10dp" 距离内部内容左边的10dp
android:paddingTop="20dp" 距离内部内容上边的20dp
android:paddingRight="30dp" 距离内部内容右边的30dp
android:paddingBottom="40dp" 距离内部内容下边的40dp>
3.FrameLayout实现效果以及属性
帧布局:所有控件默认都在左上角堆积到一起,并且后面的控件会掩盖前面的控件
<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"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#FF6140" />
<TextView
android:layout_width="150dp"
android:layout_height="150dp"
android:background="#7CFF00" />
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#FFFF00" />
</FrameLayout>
4.TableLayout
表格布局:就是确定表格的行数,以及使用 那三个属性来设置每一行中的第某列的元素隐藏,拉伸,或者收缩即可!
- android:collapseColumns:设置需要被隐藏的列的序号
android:shrinkColumns:设置允许被收缩的列的列序号
android:stretchColumns:设置运行被拉伸的列的列序号
以上这三个属性的列号都是从0开始算的,比如shrinkColunmns = "2",对应的是第三列!
可以设置多个,用逗号隔开比如"0,2",如果是所有列都生效,则用"*"号即可
除了这三个常用属性,还有两个属性,分别就是跳格子以及合并单元格,这和HTML中的Table类似:
android:layout_column="2":表示的就是跳过第二个,直接显示到第三个格子处,从1开始算的!
android:layout_span="4":表示合并4个单元格,也就说这个组件占4个单元格
collapseColumns(隐藏列)
流程:在TableRow中定义5个按钮后,接着在最外层的TableLayout中添加以下属性: android:collapseColumns = "0,2",就是隐藏第一与第三列
运行效果图.jpg
代码如下:
<TableLayout
android:id="@+id/TableLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:collapseColumns="0,2" >
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="one" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="two" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="three" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="four" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="five" />
</TableRow>
</TableLayout>
stretchColumns(拉伸列)
流程:在TableLayout中设置了四个按钮,接着在最外层的TableLayout中添加以下属性: android:stretchColumns = "1"
运行效果.jpg
设置第二列为可拉伸列,让该列填满这一行所有的剩余空间,代码如下:
<TableLayout
android:id="@+id/TableLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1" >
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="one" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="two" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="three" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="four" />
</TableRow>
</TableLayout>
shrinkColumns(收缩列)
步骤:这里为了演示出效果,设置了5个按钮和一个文本框,在最外层的TableLayout中添加以下属性: android:shrinkColumns = "1"
运行截图.jpg
设置第二个列为可收缩列,代码如下:
<TableLayout
android:id="@+id/TableLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1" >
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="one" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="two" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="three" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="four" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="five" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文本XX" />
</TableRow>
</TableLayout>
## 常用控件
1.EditText输入框组件的属性和使用(内容的长度,文本提示,密码,数字限制),以及获取文本内容
他也是继承自TextView
属性:
android:password="true" // 以”.”形式显示文本
android:phoneNumber=”true” //EditText输入的文字为电话号码
android:maxLength=“50” //EditText字数限制的设置
android:numeric=”integer” //只接受数字,一共有三种分别为
integer(正整数)、signed(带符号整数,有正负)和decimal(浮点数)
android:hint=”默认文字” //设置默认显示的文字
android:textColorHint=”#FF0000″ //设置默认显示文字颜色
android:enabled=”false” //设置输入框不能被编辑,true是可以被编辑
android:digits=”1234567890.+-*/%\n()” //限制输入框中只能输入自己
定义的这些字符串 如果输入其它将不予以显示
2.TextView文字组件的使用和属性设置
<TextView android:id="@+id/tv_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="哈哈"
android:textColor="#FFFFFF"
android:gravity="center"
android:textSize="40sp"
android:background="#FF6140"
android:drawableTop="@drawable/ic_launcher"
android:drawableLeft="@drawable/ic_launcher"
android:drawablePadding="20dp"/>
3.res/values下可以有的所有资源,以及使用(color string dimen xml中引用)
string 在values文件夹下的strings.xml中直接定义字符串常量
<string name="select">选择器</string>
color 在values文件夹下定义colors.xml 直接定义颜色常量
<color name="blue">#1017C8</color>
dimen 在values文件夹下定义dimen.xml 直接定义尺寸值
<dimen name="kuan">150dp</dimen>
网友评论