第二章五大布局_第1页
第二章五大布局_第2页
第二章五大布局_第3页
第二章五大布局_第4页
第二章五大布局_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章五大布局线性布局(LinearLayout)1.LinearLayout属性:android:gravity=“center”控件中内容相对控件的对齐方式的设置android:layout_gravity=“center”控件相对于父view对齐方式的设置marginLeft左边间隔距离marginRight右边间隔距离marginBottom下边间隔距离marginTop上边间隔距离background背景颜色或图片layout_weight权重比率layout_width控件的宽度fill_layoutmatch_layoutwrap_layoutlayout_height控件的高度fill_layoutmatch_layoutwrap_layout(1)fill_parent-1Theviewshouldbeasbigasitsparent(minuspadding).ThisconstantisdeprecatedstartingfromAPILevel8andisreplacedbymatch_parent.

(2)match_parent-1Theviewshouldbeasbigasitsparent(minuspadding).IntroducedinAPILevel8.

(3)wrap_content-2Theviewshouldbeonlybigenoughtoencloseitscontent(pluspadding).线性布局(LinearLayout相对布局(RelativeLayout)相对布局(RelativeLayout)第一组layout相对布局属性

android:layout_below

android:layout_toRightOf移动到指定控件的右边Androidlayout_toLeftOf="@id/btn1"移动到指定控件的左边android:layout_below="@id/btn1"移动到指定控件的下边android:layout_above="@id/btn1"移动到指定控件的上边注:此属性时写在控件标签内部,用于控制控件的浮动,类似于CSS中的float属性.相对布局(RelativeLayout)第二组Layout相对布局属性

android:layout_alignLeft

android:layout_alignRight

android:layout_alignTop

android:layout_alignBottom注:此组属性时控制控件的对齐方式,分别对应为左对齐右对齐上对齐和下对齐相对布局(RelativeLayout)第三组layout相对布局属性

android:layout_alignBaseLine注:此属性是让控件中的text(仅限于拉丁语系字母)以基准线为标准对齐.相对布局(RelativeLayout)第四组layout相对布局属性:android:layout_centerInParent="true"移动到父容器的中间layout_alignParentTop="true"移动到父容器的上面android:layout_alignParentBottom=""移动到父容器的下面android:layout_alignParentLeft=""移动到父容器的左android:layout_alignParentRight=""移动到父容器的右练习表格布局(TableLayout)按行和列来进行排列<TableRow>每一行帧布局(FrameLayout)一层一层可以叠加的排列方式绝对布局(AbsoluteLayout)根据X轴和Y轴来进行排列

Shape使用

在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状

corners:圆角android:radius为角的弧度,值越大角越圆。

我们还可以把四个角设定成不同的角度,同时设置五个属性,则Radius属性无效android:Radius="20dp"

设置四个角的半径android:topLeftRadius="20dp"

设置左上角的半径

android:topRightRadius="20dp"

设置右上角的半径

android:bottomLeftRadius="20dp"

设置右下角的半径

android:bottomRightRadius="20dp"

设置左下角的半径

padding:间隔可以设置上下左右四个方向的间隔<padding

android:bottom="10dp"

android:left="10dp"

android:right="10dp"

android:top="10dp"

/>

<!--

设置各个方向的间隔

-->

stroke:描边android:width="2dp"描边的宽度,android:color描边的颜色。

我们还可以把描边弄成虚线的形式,设置方式为:

android:dashWidth="5dp"

android:dashGap="3dp"

其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离

gradient:渐变android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。

另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。

angle值对应的位置如图:solid:填充android:color指定填充的颜色

案例在drawable文件夹下面先定义两个xml文件:button_bg.xml的内容如下:<?xml

version="1.0"

encoding="utf-8"?>

<shape

xmlns:android="/apk/res/android"

>

<!--

填充

-->

<solid

android:color="#ff9d77"

/>

<!--

定义填充的颜色值

-->

<!--

描边

-->

<stroke

android:width="2dp"

android:color="#fad3cf"

/>

<!--

定义描边的宽度和描边的颜色值

-->

<!--

圆角

-->

<corners

android:bottomLeftRadius="5dp"

android:bottomRightRadius="5dp"

android:topLeftRadius="5dp"

android:topRightRadius="5dp"

/>

<!--

设置四个角的半径

-->

<!--

间隔

-->

<padding

android:bottom="10dp"

android:left="10dp"

android:right="10dp"

android:top="10dp"

/>

<!--

设置各个方向的间隔

-->

</shape>

button_pressed_bg.xml的内容如下:<?xml

version="1.0"

encoding="utf-8"?>

<shape

xmlns:android="/apk/res/android"

>

<!--

渐变

-->

<gradient

android:endColor="#FFFFFF"

android:gradientRadius="50"

android:startColor="#ff8c00"

android:type="radial"

/>

<!--

描边

-->

<stroke

android:dashGap="3dp"

android:dashWidth="5dp"

这里说明一点,在描边里面设置了dash参数,使得图形的边变成了虚线

android:width="2dp"

android:color="#dcdcdc"

/>

<!--

圆角

-->

<corners

android:radius="5dp"

/>

<!--

间隔

-->

<padding

android:bottom="10dp"

android:left="10dp"

android:right="10dp"

android:top="10dp"

/>

</shape>

在drawable文件夹下添加一个button.xml文件,内容如下:<?xml

version="1.0"

encoding="utf-8"?>

<selector

xmlns:android="/apk/res/android">

<item

android:drawable="@drawable/button_pressed_bg"

android:state_pressed="true"></item>

<item

android:drawable="@drawable/button_bg"></item>

</selector>

这个文件的意思以前讲过,normal(正常)情况下就显示button_bg,被press(按下)情况下就显示button_pressed_bg。

layout目录下的activity_main.xml的内容:<RelativeLayout

xmlns:android="/apk/res/android"

xmlns:tools="/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/button"

android:text="TestShapeButton"

/>

</RelativeLayout>

直接将background指定为drawable文件夹下的button.xml。

使用步骤第一步:首先在res目录下新建drawable文件夹

第二步:在drawable文件夹中创建xml文件android背景选择器selector用法android背景选择器selector用法selector可以设置的属性有:

android:state_pressed

如果是true,当被点击时显示该图片,如果是false没被按下时显示默认。

android:state_focused

如果是true,获得焦点时显示;如果是false没获得焦点显示默认。

android:state_selected

如果是true,当被选择时显示该图片;是false未被选择时显示该图片。

android:state_checkable

如果值为true,当CheckBox能使用时显示该图片;false,当CheckBox不能使用时显示该图片。

android:state_checked

如果值为true,当CheckBox选中时显示该图片;false,当CheckBox为选中时显示该图片。

android:state_enabled

如果值为true,当该组件能使用时显示该图片;false,当该组件不能使用时显示该图片。

android:state_window_focused

如果值为true,当此activity获得焦点在最前面时显示该图片;false,当没在最前面时显示该图片。

案例一个Button控件的背景设置为:

<?xmlversion="1.0"encoding="utf-8"?>

<selectorxmlns:android="/apk/res/android">

<itemandroid:state_pressed="true"android:drawable="@drawable/bg_selected">

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论