Android开发笔记(2)——ViewGroup

一、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进行学习,

笔记原版http://www.studyjamscn.com/thread-19454-1-1.html

时间: 2024-10-22 03:20:17

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

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

协调布局CoordinatorLayout Android自5.0之后对UI做了较大的提升,一个重大的改进是推出了MaterialDesign库,而该库的基础即为协调布局CoordinatorLayout,几乎所有的design控件都依赖于该布局.协调布局的含义,指的是内部控件互相之前的动作关联,比如在A视图的位置发生变化之时,B视图的位置也按照某种规则来变化,仿佛弹钢琴有了协奏曲一般. 使用CoordinatorLayout时,要注意以下几点:1.导入design库:2.根布局采用androi

Android开发笔记(一百四十一)读取PPT和PDF文件

读取ppt文件 读取纯文本 上一篇博文讲到在Android上如何读取word文件内容,那么office三剑客中还剩ppt文件的读取.前面解析word文件和excel文件时,都用到了poi库读取文件内容,对于ppt一样也可以通过poi读取幻灯片中的文本.HSLFSlideShow类就是poi中专门用于解析幻灯片的工具类,每张幻灯片又分别由单独的HSLFSlide类处理,幻灯片中的具体图文内容则由HSLFTextParagraph和HSLFTextRun进行分辨. 下面是使用poi解析ppt文件(2

Android开发笔记(一百一十九)工具栏ToolBar

Toolbar 在前面的博文<Android开发笔记(二十)顶部导航栏>中,我们学习了ActionBar的用法,可是ActionBar着实是不怎么好用,比如文字风格不能定制.图标不能定制,而且还存在低版本的兼容性问题,所以实际开发中大家还是不倾向使用ActionBar.为此,Android提供了加强版的工具栏控件即Toolbar,因为Toolbar继承自ViewGroup,而且可在布局文件中像其它布局视图一样使用,所以灵活性大大的提高了.既然Android都与时俱进了,那我们也不能落后,现在就

Android开发笔记(一百二十)两种侧滑布局

SlidingPaneLayout SlidingPaneLayout是Android在android-support-v4.jar中推出的一个可滑动面板的布局,在前面<Android开发笔记(一百零一)滑出式菜单>中,我们提到水平布局时的LinearLayout无法自动左右拉伸,必须借助于手势事件才能拉出左侧隐藏的布局,现在SlidingPaneLayout便是为了解决LinearLayout无法自动拉伸的缺陷.只要我们在布局文件的SlidingPaneLayout节点下定义两个子布局,那么

Android开发笔记(一百一十一)聊天室中的Socket通信

Socket通信 基本概念 对于程序开发来说,网络通信的基础就是Socket,但因为是基础,所以用起来不容易,今天我们就来谈谈Socket通信.计算机网络有个大名鼎鼎的TCP/IP协议,普通用户在电脑上设置本地连接的ip时,便经常看到下图的弹窗,注意红框部分已经很好地描述了TCP/IP协议的作用. TCP/IP是个协议组,它分为三个层次:网络层.传输层和应用层: 网络层包括:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 传输层包括:TCP协议.UDP协议. 应用层包括:HT

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

分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API 调用了未实现的OpenGL ES API函数,一般由于导入的第三方库如地图库,里面有用到OpenGL,但是模拟器的硬件默认是没有这个的,所以需要我们编辑模拟器Emulation Options选项勾选 Use Host GPU 然后重启模拟器再尝试,如果还是这个错误,那么我们只好用真机测试了. 2.

Android开发笔记(一百)折叠式列表

更多动态视图MoreNewsView 经常看朋友圈的动态,有的动态内容较多就只展示前面一段,如果用户想看完整的再点击展开,这样整个页面的动态列表比较均衡,不会出现个别动态占用大片屏幕的情况.同样,查看博客的文章列表也类似,只展示文章开头几行内容,有需要再点击加载全篇文章. 动态列表直接使用ListView,动态内容就得自己写个控件了,自定义控件的难点在于如何把握动态下拉和收起的动画.这里我们要先预习TextView的相关函数,下面是本文用到的方法说明: getHeight : 获取TextVie

Android开发笔记(一百零一)滑出式菜单

可移动页面MoveActivity 滑出式菜单从界面上看,像极了一个水平滚动视图HorizontalScrollView,当然也可以使用HorizontalScrollView来实现侧滑菜单.不过今天博主要说的是利用线性布局LinearLayout来实现,而且是水平方向上的线性布局. 可是LinearLayout作为水平展示时有点逗,因为如果下面有两个子视图的宽度都是match_parent,那么LinearLayout只会显示第一个子视图,第二个子视图却是怎么拉也死活显示不了.倘若在外侧加个H

Android开发笔记(九十八)往图片添加部件

添加圆角 添加圆角的功能,要用到Canvas类的drawRoundRect方法,即把画布裁剪成指定的圆角矩形. 下面是给图片添加圆角的效果截图: 下面是给图片添加圆角的代码片段: public static Bitmap getRoundImage(Bitmap bitmap, int roundPixels) { //创建一个和原始图片一样大小位图 Bitmap roundConcerImage = Bitmap.createBitmap(bitmap.getWidth(), bitmap.g

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

原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经验教训,与网友互相切磋,从而去芜存菁进一步提升自己的水平.因此博主就想,入门的东西咱就不写了,人不能老停留在入门上:其次是想拾缺补漏,写写虽然小众却又用得着的东西:另外就是想以实用为主,不求大而全,但求小而精:还有就是有的知识点是java的,只是Android开发也会经常遇上,所以蛮记下来.个人的经