(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. hive复制表

    create table talbe_copy as select * from talbe_origin;

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

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

  3. python checklist

    1. 常用模块:subprocess, requests, paramekio, traceback, argparse, numpy, pandas 2. 赋值传递和引用传递 python是赋值传递 ...

  4. 使用Certbot申请证书

    使用certbot申请*通配符证书,使用letsencrypt证书服务,使用DNS方式手动验证 certbot certonly --preferred-challenges dns --manual ...

  5. redis geo 做距离计算排序分页

    redis geo 做距离计算排序分页 // 添加经纬度和店铺id geoadd store_list lng lat store_id 计算距离排序和生成临时文件 georadius store_l ...

  6. HarmonyOS基础

    目录 自适应布局 自适应拉伸布局 自适应缩放 自适应延伸 组件多态 ArkUI开发框架 基础组件 Text组件和Span组件 参考 参考:harmonyos3: 鸿蒙ArkUI eTS教程配套源码 参 ...

  7. fix: because the volume group on the selected device also consist of physical volumes on other devices

    because the volume group on the selected device also consist of physical volumes on other devices 目标 ...

  8. git 初始化新的文件夹

    1.  tar xvf new_project.tar.gz 2. cd  new_project 3. git config --global user.email "user.name@ ...

  9. Linux下mysql安装教程

    一 环境准备 1.检查是否已经安装过mysql,执行命令 [root@localhost /]# rpm -qa | grep mysql 从执行结果,可以看出我们已经安装了mysql-libs-5. ...

  10. 打卡node day01--基础和fs内置模块

    一, 检查 node 版本 node -v 或 node --version 二,检查安装过的node 版本(nvm node 版本管理工具  安装链接 参考百度) nvm ls 三,切换node 版 ...