创建博客有一年的时间了,一直没把它用起来,颇感惭愧。近日突感有写博客的冲动,更可怕的是这种冲动似乎比我体内的洪荒之力更为凶猛。于是乎,这篇博客悄然诞生。废话不多说,进入正题——初识Android。

  这篇博客从最基本的知识讲起 ..

  1. View(视窗):View分很多种,展示文字的TextView、展示图片的ImageView、显示按钮的Button 等等(内容太多了,不一一列举了)。
  2. Layout(布局): 由屏幕上所有View组成。分为LinearLayout(线性布局)和RelativeLayout(相对布局)。
    • LinearLayout 特有代码:

      android:orientation=horizontal / vertical    //整体布局水平 / 整体布局竖直
      android:layout_weight="1" //(权重设置为1) 权重越大,空间获得的越多。应先将height(高度)或weight(宽度)设置为 0dp
      ... ...
    • RelativeLayout 特有代码:
      android:layout_alignParentTop="true / false"  //与父视图上缘对齐
      android:layout_alignParentBottom="true / false"  //与父视图下缘对齐
      android:layout_alignParentLeft="true / false"  //与父视图左缘对齐
      android:layout_alignParentRight="true / false"  //与父视图右缘对齐
      android:layout_centerHorizontal="true / false"  //视图水平居中放置
      android:layout_centerVertical="true / false"  //视图垂直居中放置 android:id="@+id/view" //@指Android app资源 + 资源类型(id) / 视图名
      android:layout_above="@id/view" //在 ben_text_view 上方
      android:layout_below="@id/view" //在 ben_text_view 下方
      android:layout_toLeftof="@id/view" //在 ben_text_view 左边
      android:layout_toRightof="@id/" //在 ben_text_view 右边 ... ...

        另外,相对布局向默认将控件添加在屏幕的左上角 <最基本要求:名称不得有任何空格>。

  3. 每个控件必须有宽度和高度。

    例如:

        

  4. IDE:集成开发环境。

  5.  id:指定控件的唯一标识,被保存在R文件中。

  6. 内边距 & 外边距:

    • 内边距:

      android:padding="8dp"    //四周各个边距
      
      细分:
      android:paddingLeft="8dp" //左边距
      android:paddingRight="8dp" //右边距
      android:paddingTop="8dp" //上边距
      android:paddingBottom="8dp" //下边距

 

    • 外边距:

      android:layout_margin="8dp"    //四周各个边距
      
      细分:
      android:layout_Left="8dp" //左边距
      android:layout_Right="8dp" //右边距
      android:layout_Top="8dp" //上边距
      android:layout_Bottom="8dp" //下边距

      记住:padding 是在 View 里面加 padding ,而 margin 增加 View 周围的空隙 (padding 是 View 的内边距;margin 是 View 外部的空间)。

  7. 特殊值:match_parent(与父控件等大)、 wrap_content (背景高度宽度自动调整)。

  8. dp (单位.density-independent pixels):密度无关像素 (视图、控件);

    sp (像素值单位):比例无关像素 (只适用于字体) 。

  9. 实现滚动:ScrollView  把所有东西放在 ScrollView 内,并且宽和高是 match_parent 。

    

     注: ScrollView 只可以包含一个项目。

 

初识 Android的更多相关文章

  1. 初识Android的ReactiveX

    初识Android的ReactiveX 开发一个复杂一点的Android应用都会用到网络请求,交互和动画.这些都意味着 要写很多的回调嵌套.这样的代码也被称为callback hell(回调地狱).这 ...

  2. 初识Android Studio

    刚开始接触Android Studio,很多不适应的地方,自己慢慢摸索,记录下了一些问题和解决途径. 为了能使用android虚拟机,需要下载镜像,镜像有基于arm架构的也有基于intelx86.x6 ...

  3. 初识android中的动画

    动画效果可以大大提高界面的交互效果,因此,动画在移动开发中的应用场景较为普遍.掌握基本的动画效果在成熟的软件开发中不可或缺.除此之外,用户对于动画的接受程度远高于文字和图片,利用动画效果可以加深用户对 ...

  4. 初识Android NDK

    本文介绍Windows环境下搭建Android NDK开发环境,并创建一个简单的使用Native代码的Android Application. 一.环境搭建 二.JNI函数绑定 三.例子 一.环境搭建 ...

  5. 初识Android && 搭建Android开发环境

    搭建Android开发环境需要的工具: JDK(Java Development Kit) Eclipse Android Sdk(Software Development Kit) ADT (And ...

  6. 1.2……初识Android开发

    Android体系结构 Dalvik VM(Android下的java虚拟机)与传统的JVM的区别 传统JVM 基于堆栈的架构 编写.java文件--->编译为.class文件--->打包 ...

  7. (一)初识Android

    第一节:手机操作系统简介 目前的主流智能操作系统有:Android , IOS , windows mobile ; Android 开源,属于谷歌公司,市场份额较大,前景广阔: IOS 属于苹果公司 ...

  8. 初识Android

    #Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使 ...

  9. 初识-Android之智能短信项目相关技术整理

    标签页切换采用传统的TabHost: 采用TabActivty实现TabHost. 效果图-后补: 相关技术详解推荐: http://blog.csdn.net/zhouli_05/article/d ...

随机推荐

  1. 用户无法进入SDSF,报NO GROUP ASSIGNMENT错误

    注:命令行小写部分表出需要根据自己的情况改变!! a)激活SDSF资源类 SETROPTS CLASSACT(SDSF) b)查看SDSF资源类的PROFILE RLIST SDSF * c)如果不存 ...

  2. 2014 网选 广州赛区 hdu 5025 Saving Tang Monk(bfs+四维数组记录状态)

    /* 这是我做过的一道新类型的搜索题!从来没想过用四维数组记录状态! 以前做过的都是用二维的!自己的四维还是太狭隘了..... 题意:悟空救师傅 ! 在救师父之前要先把所有的钥匙找到! 每种钥匙有 k ...

  3. VIM配置相关记录

    把一直使用中的vim配置做个GIT入库管理,也把之前积累在机器上的文档,做个汇总. https://github.com/wujuguang/kyvim 1. 安装完整版vim vi和vim的区别?在 ...

  4. SQL Server里ORDER BY的歧义性

    在今天的文章里,我想谈下SQL Server里非常有争议和复杂的话题:ORDER BY子句的歧义性. 视图与ORDER BY 我们用一个非常简单的SELECT语句开始. -- A very simpl ...

  5. Genymotion模拟器环境搭建中的各种坑,终极解决办法

    最近刚进入了一家公司,因为要做自动化测试,web端的业务需要移动端来进行配合,想了想还是利用genymotion模拟器吧:很久前装过,那也是一路坎坷啊,结果这次还是遇到坑了,搞了老半天:我希望我踩过的 ...

  6. Node.js下基于Express + Socket.io 搭建一个基本的在线聊天室

    一.聊天室简单介绍 采用nodeJS设计,基于express框架,使用WebSocket编程之 socket.io机制.聊天室增加了 注册登录模块 ,并将用户个人信息和聊天记录存入数据库. 数据库采用 ...

  7. 统一者管理员指南(Unifier Administration Guide)中文

    统一者管理员指南 Unifier Administration Guide 2014年6月 发布 2014年11月翻译 10.0版本 10.0.1译 关于译者 翻译者QQ:77811970 Email ...

  8. 重构第9天:提取接口(Extract Interface)

    理解:提取接口的意思是,多于一个类共同使用某个类中的方法或属性,那么我们可以把这些方法和属性提出来,作为一个单独的接口.这样的好处是解除代码间的依赖,降低耦合性. 详解: 先看重构前的代码: publ ...

  9. 如何修改myeclipse 内存?eclipse.ini中各个参数的作用。

    修改MyEclipse/eclipse文件夹中配置文件eclipse.ini中的内存分配就哦了 =================================== 一般的ini文件设置主要包括以下 ...

  10. SQL compute by 的使用

    SQL compute by 的使用 摘自:http://www.cnblogs.com/Gavinzhao/archive/2010/07/12/1776107.html GROUP BY子句有个缺 ...