笔记链接http://www.cnblogs.com/igoslly/p/6794344.html

一、ViewGroup

1、ViewGroup的意义——整合Layout多个不同View,并对其进行位置排列

2、ViewGroup种类

Linear Layout  简单直接的布局格式,只允许水平放置 / 垂直放置

Relative Layout  复杂生动的布局格式,可根据父 / 子View相对位置来设置


二、Layout

  • Anroid URL标记

         xmlns:android=”http://schemas.android.com/apk/res/android”

  在XML文件根视图开合标记中添加XML命名空间,和“android:”表示属于android属性。

  • 布局参数

众多属性里,涉及background、text、textSize均由TextView风格化视图处理

涉及layout_width\layout_height\layout_above为布局参数,由ViewGroup统一管理。

  • Linear Layout

1)   只允许整个布局全水平 / 全垂直放置

  android: orientation= ”vertical”

       android: orientation= ”horziontal”

2)      如何在不同设备屏幕上实现视图等分?

     固定长宽×

    layout_weight设置每个View的长宽权重,等比例放置

规则:

1)      配置固定长宽、wrap_contentView

2)      配置layout_weight

android:layout_width=”0dp”

android:layout_weight=“1”

3)      计算剩余空间

4)      分配剩余空间(全部占满

a)      当有且仅有一个View设置权重,无论值大小,均占满

b)      当两个及以上View设置权重,按照设置数值,等比例分配空间

c)      特殊情况:等分——保证所有View权重值相等

5)      当weight=0 / 不设置(默认为0)时,View大小不改变


  • Relative Layout

1)    相对于Parent View

    整个视图贴合四条边,设置对齐属性,true / false

android : layout_alignParentTop

android : layout_alignParentBottom

android : layout_alignParentLeft

android : layout_alignParentRight

      所有加入relative layoutView默认放置在左上角

    2)  居中显示

android : centerHorizontal = “ true”

android : centerVertical = “true”

        结合其他属性,即可确定以上8个红星位置

    3)   View ID命名

锚定位置:无论其他元素如何变化,保持固定位置的View,相对于Child View设置,需要对每个View进行命名(设置ID)

    定义(第一次使用) android : id = “@ + id / ben_text_view”

      重复使用:@ id / ben_text_view

    4)  相对于Child View

android : layout_toLeftof = “@ id / ben_text_view”

android : layout_toRightof

android : layout_above

android : layout_below


  • Padding & Margin

    1)    两者区别

      a)      PaddingTextView处理,强行扩大原面积

      b)      MarginParent ViewGroup处理,保持原View大小,向外设置“禁飞区

    2)    属性设置

      四周 android : padding / android : margin

      单独(进入单独设置后,为设置参数默认为0)

android : paddingLeft / Right / Top / Bottom

android : marginLeft / Right / Top / Bottom


 

三、Android Studio安装 & 使用

    1)  Android Studio 是特定为开发Android apps应用的平台,需要先安装Java开发工具包(Java Development Kit

    2)  Android Project

    Domain——填写公司域名或者个人域名

    Package name —— 倒置“Domain + appname ”,是识别这个app的唯一标识

    Android版本——不同版本以糖果甜点来命名

    低版本可兼容高版本,高版本不支持低版本平台,例如采用最新的Marshmallow,只能保证使用最新版本的4.7%用户下载

       常采用 IcecreamSandwich,保证97.4%用户可以下载

    3)  实机演练:Android Phone打开设置,点击About mobile7次可打开Developer Mode

      ——如果是WINDOWS,需要下载OEM USB Drivers

    4)  电脑模拟:使用Android Emulator

      ——WINDOW 使用Virtual Devices ,需要系统支持Virtual Technology,并在BIOS中打开


l  生日贺卡实践演练

Android Studio视图配置

程序设计流程

Android Studio视图配置


申明:

1、本笔记为文字及图片均为个人原创,请勿转载

2、Android开发课程于2017年4年参与GoogleDeveloper进行学习,

Android开发笔记(2)——ViewGroup的更多相关文章

  1. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  2. Android开发笔记(一百三十四)协调布局CoordinatorLayout

    协调布局CoordinatorLayout Android自5.0之后对UI做了较大的提升.一个重大的改进是推出了MaterialDesign库,而该库的基础即为协调布局CoordinatorLayo ...

  3. [置顶] Android开发笔记(成长轨迹)

    分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...

  4. Android开发笔记:打包数据库

    对于数据比较多的控制一般会加入SQLite数据库进行数据存储,在打包时这些数据库是不自动打包到apk中的,如何创建数据库呢 方法1:将创建数据库的sql语句在SQLiteHelper继承类中实现,在第 ...

  5. Android开发笔记--hello world 和目录结构

    原文:Android开发笔记--hello world 和目录结构 每接触一个新东西 都有一个hello world的例子. 1.新建项目 2.配置AVD AVD 没有要新建个,如果不能创建 运行SD ...

  6. [APP] Android 开发笔记 003-使用Ant Release 打包与keystore加密说明

    接上节 [APP] Android 开发笔记 002 5. 使用ant release 打包 1)制作 密钥文件 release.keystore (*.keystore) keytool -genk ...

  7. [APP] Android 开发笔记 002-命令行创建默认项目结构说明

    接上节:[APP] Android 开发笔记 001 4. 默认项目结构说明: 这里我使用Sublime Text 进行加载.

  8. Android开发笔记——以Volley图片加载、缓存、请求及展示为例理解Volley架构设计

    Volley是由Google开源的.用于Android平台上的网络通信库.Volley通过优化Android的网络请求流程,形成了以Request-RequestQueue-Response为主线的网 ...

  9. 【转】Android开发笔记——圆角和边框们

    原文地址:http://blog.xianqu.org/2012/04/android-borders-and-radius-corners/ Android开发笔记——圆角和边框们 在做Androi ...

  10. 《ArcGIS Runtime SDK for Android开发笔记》

    开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...

随机推荐

  1. guava cache学习

    Guava Cache与ConcurrentMap很相似,但也不完全一样.最基本的区别是ConcurrentMap会一直保存所有添加的元素,直到显式地移除.相对地,Guava Cache为了限制内存占 ...

  2. POJ 1384 POJ 1384 Piggy-Bank(全然背包)

    链接:http://poj.org/problem?id=1384 Piggy-Bank Time Limit: 1000MS Memory Limit: 10000K Total Submissio ...

  3. react 项目实战(二)创建 用户添加 页面 及 fetch请求 json-server db.json -w -p 8000

    1.安装 路由 npm install -S react-router@3.x 2.新增页面 我们现在的应用只有一个Hello React的页面,现在需要添加一个用于添加用户的页面. 首先在/src目 ...

  4. 让你完全理解base64是怎么回事

    HTTP将BASE64-编码用于基本认证和摘要认证,在几种HTTP扩展中也使用了该编码. Base-64编码保证了二进制数据的安全 Base-64编码可以将任意一组字节转换为较长的常见文本字符序列,从 ...

  5. Jenkins CLI 使用

    //链接java -jar jenkins-cli.jar -s JenkinsHost who-am-i --username 用户名 --password 密码 删除Jobjava -jar je ...

  6. 并不对劲的spoj1812

    题意是求多个串的lcs. 这也是道后缀自动机的模板题.对于任意一个字符串建后缀自动机,用其他串查询就行.对于后缀自动机的每个状态要额外记匹配到当前状态的最大长度. 和spoj1811的区别在于这道题不 ...

  7. 第十五周 Leetcode 517. Super Washing Machines(HARD) 贪心

    Leetcode517 很有趣的一道题 由于每一步可以任选某些数字对它们进行转移,所以实际上是在求最优解中的最复杂转移数. 那么我们考虑,到底哪一个位置要经过的流量最大呢? 枚举每个位置,考虑它左边的 ...

  8. 将数据从数据仓库Hive导入到MySQL

    1.启动Hadoop,hive,mysql 2.在mysql中建表(需要导入数据的) mysql> CREATE TABLE `dbtaobao`.`user_log` (`user_id` v ...

  9. 常用开源<监控软件>介绍

    转载地址:http://blog.csdn.net/lx_9986/article/details/6803243 一.Zenoss Core Zenoss Core是开源企业级IT管理软件-是智能监 ...

  10. vs code 快速生成vue 模板

    vs code 快速生成vue 模板 1.使用快捷Ctrl + Shift + P唤出控制台,然后输入snippets并选择.(或 文件>首选项>用户代码片断里面,输入 vue.json ...