(2)视图基础

1.设置视图的高度

视图宽度通过属性Android:layout_width表达,视图高度通过属性android:layout_heigth表达,宽高的取值主要有以下三种

  1.match_parent:表示与上级视图保持一致。

  2.wrap_contet:表示与内容自适应。

  3.以dp为单位的具体尺寸。

在java文件中设置视图的宽高

首先确保xml中的宽高属性值为wrap_content,接着打开该页面对应的java代码,依序执行以下步骤

  1.调用控制对象的getLayoutParams方法,获得该控件的布局参数。

  2.布局参数的width属性表示宽度,height属性表示高度,修改这两个属性

  3.调用控件对象的setLayoutParams方法,填入修改后的布局参数使之生效。

2.设置视图的间距

(1)采用layout.mardin属性,它指定了当前视图与周围平级视图之间的距离,包括layout_margin、layout_marginLeft、layoutmarginTop、layoutmarRigth、layout_marginBottom.

(2)采用padding属性,它指定了当前视图与内部视图下级视图之间的距离。包括padding、paddingLeft、paddingTop、paddingRight、paddingBottom。

3.设置视图的对其方式

设置视图的对齐方式有两种途径:

  1.采用layout_gravity属性,它指定了当前视图相对于上级视图的对齐方式。

  2.采用gravity属性,它指定了下级视图相对于当前视图的对齐方式。

layout_gravity与gravity的取值包括left、top、right、bottom,还可以用竖线连接各取值,例如“left|top”是靠左上角对齐。

(3)常用布局

1.线性布局

  (1)orientation属性值为horizontal时,内部视图在水平方向从左往右排列。

  (2)orientation属性值为vertical时内部视图在垂直方向上从上往下排列。

注意:如果不指定orientation属性,则LinearLayout默认水平方向排列。

2.线性布局的权重

线性布局的权重指的是线性布局的下级视图各自拥有多大比例的宽高

权重属性名叫layout_weight但该属性不在LinearLayout节点设置,而在线性布局的直接下级视图设置,表示该下级视图占据的宽高比例

  (1)layout_width填0dp时,layout_weight表示水平方向的宽度比例

  (2)layout_height填0dp时,layout_weight表示垂直方向的高度比例

3.相对布局

相对布局的下级视图位置由其他视图决定。用于确定下级视图位置的参照物分为两种:

  (1)与该视图自身平级的视图

  (2)该视图的上级视图(也就是它归属的RelativeLayout)

如果不设定下级视图的参照物,那么下级视图默认显示在RalationLayout内部的左上角。

3月2号Android开发学习的更多相关文章

  1. android开发学习笔记000

    使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...

  2. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

  3. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  4. Android开发学习路线图

    Android开发学习方法: Android是一个比较庞大的体系,从底层的Linux内核到上层的应用层,各部分的内容跨度也比较大.因此,一个好的学习方法对我们学习Android开发很重要. 在此建议, ...

  5. Android开发学习之LauncherActivity开发启动的列表

    Android开发学习之LauncherActivity开发启动的列表 创建项目:OtherActivity 项目运行结果:   建立主Activity:OtherActivity.java [jav ...

  6. 最实用的Android开发学习路线分享

    Android开发学习路线分享.Android发展主导移动互联发展进程,在热门行业来说,Android开发堪称火爆,但是,虽然Android有着自身种种优势,但对开发者的专业性要求也是极高,这种要求随 ...

  7. Android开发学习必备的java知识

    Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...

  8. Android开发学习之路--基于vitamio的视频播放器(二)

      终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了.在Android开发学习之路–基于vitamio的视频播放器(一)中,主要讲了播放器的界面的 ...

  9. Android开发学习之路--Android Studio cmake编译ffmpeg

      最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...

  10. Android开发学习之路--网络编程之xml、json

    一般网络数据通过http来get,post,那么其中的数据不可能杂乱无章,比如我要post一段数据,肯定是要有一定的格式,协议的.常用的就是xml和json了.在此先要搭建个简单的服务器吧,首先呢下载 ...

随机推荐

  1. P5731 蛇形方阵

    P5731 [深基5.习6]蛇形方阵 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) //为什么用动态二维数组 --->To play to user's input, but ...

  2. 嵌入式Linux应用开发

    3-4 Makefile常用的函数 i.  $(foreach var,list,text) 简单地说,就是 for each var in list, change it to text. 对lis ...

  3. vue请求插件axios响应拦截302

    axios.interceptors.response.use(function (response) { return response;}, function (error) { // 对请求错误 ...

  4. spring 使用@Async注解实现异步调用

    1.先定义一个事件,该类继承 ApplicationEven的抽象类 import org.springframework.context.ApplicationEvent; public class ...

  5. ORACLE 配置ST_GEOMETRY以支持SQL方式操作SDE数据库

    这里假设已经在ORACLE里边创建了SDE数据库,在此基础上进行配置: 1.以sde用户登录到oracle,运行一下语句: SELECT * FROM USER_LIBRARIES; CREATE O ...

  6. SqlServer outer apply(cross apply)

    select * from baiduacg_cookies c cross apply (select top 1 * from product where AccountId=c.AccountI ...

  7. unity animation instance

    animation instance piti6/UnityGpuInstancedAnimation https://github.com/piti6/UnityGpuInstancedAnimat ...

  8. PostgreSQL 解析json字段

    一.解析json数组 select json_array_elements(lv_num_json)->'l1' lv,json_array_elements(lv_num_json)-> ...

  9. geoserver官网

    https://www.osgeo.cn/geoserver-user-manual/index.html

  10. Go 设置代理

    对于 Windows 用户,可以在PowerShell中设置: $env:GOPROXY = "https://goproxy.io"