刚开始学Android开发的时候,没有H5的基础总是分不清android布局文件的用法,真正要学会android布局还是得实战一次,下面不多说,直接上代码。

这是一个登陆界面,LinerLayout嵌套RelativeLayout的布局,去掉我写的注释就可以直接使用:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" //match_parent是占满整行,设置宽
android:layout_height="match_parent" //占满整列,设置高
android:orientation="vertical"> //里面的项目垂直排列,如果不写可能报错 <RelativeLayout //这是LinerLayout嵌套的第一个layout。显示在第一行
android:layout_width="match_parent"
android:layout_height="180dp"
android:background="@mipmap/login_bg_no"> //设置背景图片,背景图片一般就是粘贴在mipmap的xhdpi中 <ImageView //图片控件,显示在父控件的第一行
android:id="@+id/back1" //设置id,后面可以用来设置点击事件或相对布局
android:layout_width="20dp" //设置图片大小,如果要展示原有大小就改为wrap_content
android:layout_height="20dp"
android:src="@mipmap/bg_back_white" //背景图片,一个类似“<”的图片
android:layout_marginTop="15dp"
android:layout_alignParentLeft="true" //靠近父控件左侧
android:layout_marginLeft="20dp" /> //离父控件左侧20dp,LinerLayout中不能这样用 <TextView //文字控件,由于是RelativeLayout,不设置相对布局,就会和上一个控件叠加
android:id="@+id/register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册" //显示的文字
android:textSize="13sp" //文字大小
android:textColor="@color/white" //文字颜色,在value的color中设置颜色
android:layout_alignParentRight="true" //显示在父控件的右侧
android:layout_marginTop="15dp" //距父控件的上侧15dp
android:layout_marginRight="20dp"
/>
</RelativeLayout> <RelativeLayout //由于LinearLayout中垂直排列,显示在上一个RelativeLayout的下侧
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"> <EditText //输入框
android:id="@+id/loginnum"
android:layout_width="match_parent" //先占满一行
android:layout_height="55dp" //高度55dp
android:layout_marginTop="20dp" //再往下移20dp
android:layout_marginRight="20dp" //右侧减少20店铺
android:layout_marginLeft="20dp" //左侧减少20dp
android:hint="请输入手机号码" //设置默认文字
android:textSize="20sp" //文字大小
android:numeric="integer" //设置只能输入int类型的数
android:maxLength="11" //最长11位
android:singleLine="true"/> //单行,不能回车再起一行 <EditText
android:id="@+id/loginpassword"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
android:layout_below="@id/loginnum" //相对于id为loginnum的控件往下
android:hint="请输入密码"
android:textSize="20sp"
android:password="true" //显示输入的为*
android:singleLine="true"/> //单行 <Button //按钮
android:id="@+id/loginbtn"
android:layout_width="match_parent"
android:layout_height="45dp"
android:text="登 录"
android:textSize="20sp"
android:background="@drawable/backguound_shape" //这是自己定义的一个drawable,使button显示为圆角,并点击变色,具体参见下一条博客。
android:textColor="@color/white"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="30dp"
android:layout_below="@id/loginpassword"/>
</RelativeLayout>
</LinearLayout>

上面展示了几个常用的控件用法,最重要的是要对LinerLayout和RelativeLayout有所了解。

下面的完成后的样子:

掌握这些,一些简单的布局就已经能够完成了。

如果color中没有相关颜色可以插入

切记不要删除color默认的几个颜色,否则会报错。

    <color name="red">#ff0000</color> <!-- 红色 -->
<color name="black">#000000</color> <!-- 黑色 -->
<color name="white">#ffffff</color> <!-- 白色 -->
<color name="darkred">#8b0000</color> <!-- 暗红色 -->

Android碎笔录1——基本布局的更多相关文章

  1. Android碎笔录3——点击跳转

    只要是view都能设置点击事件,不必要非得是Button. 要想实现跳转得三步走: 第一步.绑定 每个Layout都有一个一个java文件跟它绑定,这个Layout相关的代码都写在这个java文件里 ...

  2. Android碎笔录2——按键的点击变色和圆角实现

    android的Button默认写出来之后都是方形的直角,并且点击感很不明显,只要在drawable中加上一个xml就能解决这个问题: <?xml version="1.0" ...

  3. Android 自定义View及其在布局文件中的使用示例(三):结合Android 4.4.2_r1源码分析onMeasure过程

    转载请注明出处 http://www.cnblogs.com/crashmaker/p/3549365.html From crash_coder linguowu linguowu0622@gami ...

  4. Android 自定义View及其在布局文件中的使用示例(二)

    转载请注明出处 http://www.cnblogs.com/crashmaker/p/3530213.html From crash_coder linguowu linguowu0622@gami ...

  5. android项目的结构和布局

    一.res文件夹 1.res文件夹用于存放Android的资源.包括:动画.静态图片.字符串.菜单.布局.视频.文件等. 1.drawable-ldpi:低分辨率图形(120像素/英寸) 2.draw ...

  6. Android UI基础之五大布局

    Android  UI基础之五大布局 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Andro ...

  7. Android学习笔记④——页面的布局方式

    FrameLayout(帧布局) 这个布局的特点是简单的默认把每一个视图组件都放在边框内且放在左上角,即使添加多个视图组件,他们也都是重叠在左上角,新的视图会遮挡住旧的视图.可以根据gravity来改 ...

  8. Android UI学习 - FrameLayou和布局优化(viewstub)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://android.blog.51cto.com/268543/308090 Fram ...

  9. Android 改变窗口标题栏的布局

    Android改变窗口标题栏的布局  第一种方式 --在XML文件里面引入配置文件作为标题. 第二种方式  --动态的代码加入进去. 第三种方式(网上的): 一. 重点 一般应用的Title都是建立应 ...

随机推荐

  1. [转] org.scalatest.FunSuite Scala Examples - Scala FunSuite 测试的例子

    [From]  https://www.programcreek.com/scala/org.scalatest.FunSuite org.scalatest.FunSuite Scala Examp ...

  2. [转] gitlab 的 CI/CD 配置管理

    [From] http://blog.51cto.com/flyfish225/2156602 gitlab 的 CI/CD 配置管理 (二) 标签(空格分隔):运维系列 一:gitlab CI/CD ...

  3. win10开启 linux Bash命令(win10内置了linux系统支持)

    win10开启 Ubuntu linux Bash命令(win10内置了linux系统支持) 第一步: 先在设置→更新和安全→针对开发人员中选择"开发人员模式",点击后会下载&qu ...

  4. (转)【干货】MySQL 5.7 多实例(多进程)配置教程

    原文:https://blog.csdn.net/zougen/article/details/79567744 https://klionsec.github.io/2017/09/20/mysql ...

  5. PHP在 win7 64位 旗舰版 报错 Call to undefined function curl_init()

    代码在ubuntu下无缝运行OK 转到我的win7 64位 期间 学习机上 报错: Call to undefined function curl_init() 因为用到curl 远程抓取数据. 所以 ...

  6. python2和python3中列表推导式的变量泄露问题

    Python 2.x 中,在列表推导中 for 关键词之后的赋值操作可能会影响列表推导上下文中的同名变量.像下面这个 Python 2.7 控制台对话: Python 2.7.15 (default, ...

  7. MYSQL5.7 sql_mode=only_full_group_by

    错误提示: .... which is not functionally dependent on columns in GROUP BY clause; this is incompatible w ...

  8. CSS position属性absolute relative等五个值的解释

    DIV CSS position绝对定位absolute relative教程篇 常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:abs ...

  9. C语言经典面试题目(转的,不过写的的确好!)

    第一部分:基本概念及其它问答题 1.关键字static的作用是什么? 这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一 ...

  10. JAVA-1NIO概述

    注意: 转载自并发编程网 – ifeve.com本文链接地址: Java NIO系列教程(一) Java NIO 概述 JAVA-1NIO概述 Java NIO 由以下几个核心部分组成: Channe ...