了解完项目的目录结构,主要文件的作用之后。

了解完各常量文件的定义和使用之后,接下来的重头戏肯定是布局文件layout。

果然,网上关于“安卓布局文件layout”的各种介绍、解析、深入分析,等等资料很多。

我首先选了这篇文章,因为一眼扫过去觉得,花架子不多,语言朴实,文章结构也比较清晰。

https://blog.csdn.net/liuwei0604/article/details/17420793

这篇文章介绍了:

1、定义UI元素就跟iOS开发一样,可以选择自定义UIView子类,也可以选择直接在UIViewController中定义UI元素。与安卓开发对应的就是:

自定义UIView子类-----布局文件

直接在UIViewController中定义UI元素并使用-----直接在java文件中定义UI元素并使用

2、安卓中创建的布局文件,需要在java文件中被使用,这里就涉及到布局文件的加载了。方式如下:

这个在iOS中的实现是,创建该UIView对象并持有该对象。

3、了解上面的知识以后,接下来需要重点了解的就是“如何写布局文件layout”,我看了一下项目中布局文件的源代码,接下来重点应该往以下几个方向入手了解:

(1)有哪几种布局模式,各种布局模式的样式是怎样的,可配置的参数有哪些?

(2)常用的UI元素有哪些,一般的用途是怎样的?

另外换一个角度来思考这个问题,结合iOS的开发经验,自定义UIView,需要知道的无非就是:

创建出UI对象、添加到父视图中、将UI对象进行布局(frame或者是相对布局),然后就是等着被使用就行了。

因此我接下来需要整理下常用在UI元素上的样式和内容属性有哪些,UI元素的布局属性常用的是哪些,具体的赋值有哪些?

安卓开发:初步了解布局文件layout的更多相关文章

  1. 【Android】安卓开发中的布局与事件

    [Android]安卓开发中的布局与事件 1.Android Studio下载配置 非常简单的百度然后点击下载安装就好了.注意的是,本来我是打算使用评价还不错的Genymotion这个软件来充当虚拟机 ...

  2. 安卓开发之生成XML文件

    package com.lidaochen.phonecall; import android.net.Uri; import android.os.Environment; import andro ...

  3. Android布局文件layout.xml的一些属性值

        第一类:属性值 true或者 false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 andr ...

  4. Android开发UI之布局文件LinearLayout

    LinearLayout-线性布局,该布局中的控件按照水平方向排列或者竖直方向排列. 通过属性android:orientation=""决定的,可选值:vertical和hori ...

  5. 安卓开发06:布局-线性布局 LinearLayout

    LinearLayout把视图组织成一行或一列.子视图能被安排成垂直的或水平的.线性布局是非常常用的一种布局方式. 请看一个布局例子: <LinearLayout xmlns:android=& ...

  6. Android安卓开发-记账本布局

    账单页面布局统计页面布局我的页面布局主页面加号记账页面布局.点击记账页面记账类别布局点击收入页面收入类别布局统计页面支出布局统计页面收入布局查询页面布局数据库设计字段一,支出id和收入id分配字段二, ...

  7. Android中布局文件中使用onClick属性

    安卓开发中,布局文件中的控件有一个属性,是onClick,例如:           <Button             android:id="@+id/button1" ...

  8. [安卓开发]App Widget开发入门指导

    本节所要讲的主要内容包括Android桌面小部件.App Widget的开发入门指导,并通过一个简单实例的形式来直观的讲解App Widget. 一.Widget .App Widget .Web A ...

  9. magento的布局文件之谜

    magento的布局文件layout.xml文件详解 解析顺序 布局xml文件一般位于app/design/{area}/{package}/{theme}/layout/目录下.Layout文件一般 ...

随机推荐

  1. 通过Spring Resource接口获取资源

    目录 1       Resource简介 2       通过ResourceLoader获取资源 3       在bean中获取Resource的方式 1       Resource简介 在S ...

  2. Jupyter Notebook 更改本地目录

    首先如果使用anaconda直接安装jupyter notebook的话,直接在windows的cmd中输入jupyter notebook是没有用的,参见下图: 原因可能是anaconda代理了所有 ...

  3. 洛谷 P5569 [SDOI2008]石子合并 GarsiaWachs算法

    石子合并终极通用版 #include<bits/stdc++.h> using namespace std ; ]; int n,t,ans; void combine(int k) { ...

  4. deepin linux 安装之后 引导错误 出现 grub>

    deepin 安装之后 引导错误 ,,, 忙了一晚上 终于解决了 太辛苦了 不过明白了grub的工作原理也不亏,,,, 就是 整个过程满满的绝望 (哭 环境说明 华硕顽石4 笔记本 硬盘分区表GPT ...

  5. dbGet

    dbGet是Innovus/Encounter DBTCL命令的一种.除了dbGet,DBTCL的命令还包括以下几种: 1. dbSet 2. setDbGetMode/getDbGetMode 3. ...

  6. 【vue】 router.beforeEach

    import store from '@/store' const Vue = require('vue') const Router = require('vue-router') Vue.use( ...

  7. css动画效果之transition(动画效果属性)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Linux下制作和使用静态库和动态库

    概述 Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库.linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib. 静态函数库: 这类库的名字一般是libxxx. ...

  9. 线性递推BM模板

    #include <cstdio> #include<iostream> #include <cstring> #include <cmath> #in ...

  10. AcWing 854. Floyd求最短路 多源 邻接矩阵

    //不存在负权回路 //边权可能为负数 #include <cstring> #include <iostream> #include <algorithm> us ...