Android自学笔记

自学笔记,资源来自菜鸟教程

链接:2.2.1 LinearLayout(线性布局) | 菜鸟教程

Android API 链接:Android 移动应用开发者工具 – Android 开发者  |  Android Developers

———————————————————分割线—————————————————————

布局

布局分为六大布局:线性布局(LinearLayout),相对布局(RelativeLayout),表格布局(TableLayout),绝对布局(AbsoluteLayout),帧布局(FrameLayout),网格布局(GridLayout)

一、线性布局(LinearLayout)

1.1、属性

orientation:设置布局方向水平(horizontal)或垂直(vertical)

gravity: 设置子元素的对齐方式

layout-gravity:设置改元素在父容器的对齐方式

layout-wight:设置布局的宽,元素实际大小(wrap-content),填满父元素(fill-content)

layout-height:设置布局的高,属性同上

id:设置一个单独的id,可通过findViewById(“”)获取

background:设置背景颜色或图片

1.2、Weight 权重(常用)

layout_Weight:权重设置子元素的占比,设置水平或垂直的权重时需要将对应的宽高设置为0dp。

通过java代码设置权重:setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,     
        LayoutParams.WRAP_CONTENT, 1)); 


1.3、分割线

分割线是须在LinearLayout标签中设置

divider:为子元素设置分割线,其实就是一张图片放在了分割线的位置

showDividers:设置分割线所在位置,参数分别(none 无,beginning 开始,end 结束,middle 两组件中间)

dividerPadding:设置分割线边距

二、相对布局(RelativeLayout)

相对布局是根据父容器和同级容器以及偏移(margin)和填充(padding)来设置的布局,属性较多

2.1、属性

gravity:设置容器内组件的对齐方式

ignoreGravity:属性值为true/false,设置组件是否跟随容器统一对齐方式,默认为false。为true时将不受上个属性控制。

2.2、根据父类设置布局

layout_alignParentLeft:紧贴父类左

layout_alignParentRight:紧贴父类右

layout_alignParentTop:紧贴父类顶

layout_alignParentBottom:紧贴父类底

注: 以下属性值为ture/false

android:layout_centerHorizontal:水平居中

android:layout_centerVertical:垂直居中

Android:layout_centerInParent:在父类正中

2.3、根据同级元素设置布局(兄弟元素)

注:同级元素为同一个父容器下存在元素,指定同级元素id

layout_toLeftOf:在某元素的左侧

layout_toRightOf:在某元素的右侧

layout_above:在某元素的顶部

layout_below:在某元素的底部

android:layout_alignLeft:参考同级元素的左边界

android:layout_alignRight:参考同级元素的右边界

android:layout_alignTop:参考同级元素的上边界

android:layout_alignBottom:参考同级元素的下边界

2.4、根据偏移量设置布局(margin)

margin可设置为负数

layout_margin:设置元素的上下左右的偏移量

layout_marginLeft:设置左偏移量

layout_marginRignt:设置右偏移量

layout_marginTop:设置上偏移量

layout_marginBottom:设置元素下偏移量

2.5、根据填充设置布局(padding)

android:padding:设置元素上下左右的填充大小

paddingLeft:设置左填充(内边距)

paddingRight:设置右填充

paddingTop:设置上填充

paddingBottom:设置下填充

三、表格布局(tablelayout)

表格布局中一个组件只能占满一行;需要添加TableRow容器,在tablerow中有多少个组件就会有多少个列,tablerow只能设置layout_height高度,宽度默认填满整个父容器且无法修改,<TableRow></TableRow>

3.1、常用属性

android:collapseColumns:设置隐藏某列

android:shrinkColumns:收缩某列

android:stretchColumns:设置某列为可拉伸列,即可调整列的宽度

以上属性索引从零开始

android:layout_collums: 跳过某个单元格

android:layout_span:合并单元格

四、帧布局(frameLayout)、

相当于是在左右组件前的一个图片,比如广告弹窗

4.1、属性

android:foreground:设置前景图片

android:foregroundGravity:设置前景图片的位置

五、网格布局(GridLayout)

5.1、属性

针对布局的设置

android:orientation:设置组件排列方向

android:gravity:设置组件对齐方式

android:rowCount:设置行数

android:columnCount:列数

针对子组件的设置

默认组件占一行一列,如要组件填满整行或整列需要设置layout_gravity为“fill”

android:layout_row:设置组件所在列(从0开始算)

android:layout_column:设置组件所在行

android:layout_columnSpan:跨行,合并单元格

android:layout_rowSpan:跨列

六、绝对布局(AbsoluteLayout)

基本不会用到,暂时不学了

组件

android中的组件和HTML的组件大同小异,个人认为也就是名字和属性名有所差异。

大概记录一些属性,具体使用方法: 2.3.1 TextView(文本框)详解 | 菜鸟教程

其中的组件有:文本框(TextView)、输入框(EditView)、按钮(Button和ImageButton)、图像视图(ImageView)、单选按钮/复选框(RedioButton/checkBox)、开关按钮/开关(ToggleButton/Switch)、进度条(ProgressBar)、拖动条(SeekBar)、星级评分条(RatingBar)、滚动条(ScrollView)……

一、文本框(TextView)

文本框除基本的宽高,字体大小颜色属性以外还有阴影、边框以及带图片的TextView;

设置文字自动换行:android:singleLine(false:自动换行)

其中边框是在drawable文件夹下创建xml文件并设置边框样式,再将文件引入到组件的blackground属性中。

1.1、设置文字阴影的属性(shadow)

android:shadowCollor:设置阴影颜色

android:shadowRadius:设置阴影模糊程度

android:shadowDx:设置阴影水平偏移量

android:shadowDy:设置阴影垂直偏移量

二、输入框(EditText)

2.1、设置默认提示文字

android:Hint:"" :设置默认提示文字

android:textColorHint:设置提示文字颜色

selectAllOnFocus:设置为true则点击输入框自动文字全选

三、图像视图(ImageView)

图像视图就是web前端里的image标签,但图像视图不同的是可以src和background配合使用,src可以设置透明度(setAlpha),设置长宽比

四、单选按钮和复选框(RadioButton / CheckBox)

大概使用方法和web里的差不多,单选按钮需要设置在一个单选分组里(RadioGroup),同时要为每一个单选按钮设置一个id。

五、开关按钮和开关(ToggleButton / Switch)

5.1、ToggleButton的属性

android:disabledAlpha:设置按钮被禁用时的透明度

android:textOff:未被选中时显示的文字

android:textOn:选中时显示的文字

5.2、Switch的属性

android:showText:设置on/off时是否显示文字,

android:switchMinWight:开关的最小宽度

android:track:设置底部图片

android:thumb:设置滑块图片

设置底部和滑块图片:需要将图片保存在drawable文件夹下再新建一个**_selctor.xml文件,在文件中的<selctor>标签下进行配置,再将对应的文件名写入到属性中

六、进度条(ProgressBar)

ProgressBar有两个间接子类分别是SeekBar和RatingBar。

6.1、属性

android:max:设置进度条的最大值

android:progress:设置进度条当前已完成进度

android:indeterminate:设置为true时不精准显示进度

android:secondaryProgress:二级进度条,有加载和已完成进度两层

6.2、拖动条(SeekBar)

SeekBar拥有进度条所有的属性,还有自己单独的属性:android:thumb可以用来自定义滑块,

基本常用的是SeekBar的监听事件中的三个事件方法:进度改变时触发(OnProgressChanged)、按住滑块时触发(OnStartTrackingTouch)、放开滑块时触发(OnStopTrackingTouch)

6.3、星级评分条(RatingBar)

RatingBar的自定义样式思路:基本都是创建xml文件使用<layter_list><item></item></layter_list>标签,在style文件中设置宽高以及xml的文件名,在将style文件中的文件名引入RatingBar标签的Style属性中。具体代码:2.3.9 RatingBar(星级评分条) | 菜鸟教程

属性

android:isIndicator:设置是否可用,默认为false。

android:numStars:显示的星星个数(整数)

android:rating:设置默认评分值(浮点)

android:StepSize:每次增加的步长(浮点)

  • 19
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值