Android 基础:常用布局 介绍 & 使用(附 属性查询)
Android 基础:常用布局 介绍 & 使用(附 属性查询)
前言
- 在
Android开发中,绘制UI时常需各种布局 - 今天,我将全面介绍
Android开发中最常用的五大布局
含
Android Studio 2.2中新增的布局:约束布局(ConstraintLayout)介绍
目录

1. 布局类型
在Android中,共有2类、6种布局方式,分别是:

2. 布局介绍
- 具体介绍

本文主要介绍传统的5大布局,关于约束布局
(ConstraintLayout)具体点击查看文章
3. 布局属性
Android的布局属性通过XML配置- 下面,主要讲解布局公有属性 & 特有属性
3.1 公有属性
即 5种布局都具备下述属性
layout_width、layout_heightlayout_margin+方位padding+方位layout_gravitygravity

3.2 特有属性
- 具体介绍如下

3.3 特别注意
- 5个布局元素可相互嵌套使用,从而实现各种不同的效果
- 关于 线性布局(LinearLayout)的权重属性layout_weight请看文章
4. 选择器(Selector)
4.1 作用
通过设置选择器(
selector)可使控件 在不同操作下(默认、点击等) 显示不同样式通过
xml编写 =selector.xml4.2 属性
XML属性 说明 android:drawable 放一个drawable资源 android:state_pressed 按下状态,如一个按钮触摸或者点击。 android:state_focused 取得焦点状态,比如用户选择了一个文本框。 android:state_hovered 光标悬停状态,通常与focused state相同,它是4.0的新特性 android:state_selected 选中状态 android:state_enabled 能够接受触摸或者点击事件 android:state_checked 被checked了,如:一个RadioButton可以被check了。 android:state_enabled 能够接受触摸或者点击事件 注:上述所有属性的取值 =
boolean属性 =true、false4.3 实例说明
在
drawable添加selector.xml资源文件button_selector.xml:
<?xml version="1.0" encoding="UTF-8"?>
< selector xmlns:android="http://schemas.android.com/apk/res/android"> < !-- 指定按钮按下时的图片 -->
<item android:state_pressed="true"
android:drawable="@drawable/start_down"
/> < !-- 指定按钮松开时的图片 -->
<item android:state_pressed="false"
android:drawable="@drawable/start"
/> < /selector>
在布局文件main.xml中控件的属性设置:
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_selector"
/>
5. 布局形状(Shape)
- 作用:设置布局的颜色、边框线
- 使用:通过
xml编写 =shape.xml - 具体使用
<shape xmlns:android="http://schemas.android.com/apk/res/android"> //默认颜色
<solid android:color="#876543"/>
//哪个方向有边框线
<padding
android:bottom="0dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
//边框线颜色、大小
<stroke
android:width="1dp"
android:color="#000000" />在布局文件main.xml中控件的属性设置:
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/layout_shape"
/>
6. 总结
- 本文全面介绍了
Android常用布局
Android 基础:常用布局 介绍 & 使用(附 属性查询)的更多相关文章
- 跟我学android-android常用布局介绍
在上一章我们曾经谈到,Android平台的界面 是使用XML的方式设计的,然后在上一章我们只做了一个简单的界面,在这章,我们将介绍如何使用常用的控件设计实用的界面. Android中的视图都是继承Vi ...
- Android基础之布局ConstraintLayout
Google I/O 2016 上发布了 ConstraintLayout,据说很强大,那就一探究竟吧! gradle配置 compile 'com.android.support.constrain ...
- Android中常用布局单位
Android在UI布局时经常用到一些单位,对单位混用直接会影响UI的显示,要想正确的在布局中使用每种单位就必须先真正的熟悉它. UI显示效果的影响因素:屏幕尺寸.屏幕密度.分辨率:而android手 ...
- WPF常用布局介绍
概述:本文简要介绍了WPF中布局常用控件及布局相关的属性 1 Canvas Canvas是一个类似于坐标系的面板,所有的元素通过设置坐标来决定其在坐标系中的位置..具体表现为使用Left.Top.Ri ...
- Android 之常用布局
LinearLayout 线性布局. android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 vertical ...
- Android linearlayout常用布局
用linearlayout完成这样的布局效果,这样的布局还是比较常用的,具体的xml代码如下: <LinearLayout xmlns:android="http://schemas. ...
- Android中常用布局
1.线性布局 LinearLayout orientation:方向:vertical,垂直:horizontal,水平 gravity:对齐方式,子控件相对于当前 ...
- Android五大布局介绍&属性设置大全
前言 在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置. 目录 Android五大布局介绍&属性设置. ...
- Android基础夯实--重温动画(四)之属性动画 ValueAnimator详解
宝剑锋从磨砺出,梅花香自苦寒来:千淘万漉虽辛苦,吹尽狂沙始到金: 长风破浪会有时,直挂云帆济沧海 一.摘要 Animator类作为属性动画的基类,它是一个抽象类,它提供了实现动画的基本架构,但是我们不 ...
随机推荐
- JS随机显示一张图片
var images=['p1.jpg','p2.jpg','p3.jpg']; var url=images[Math.floor(Math.random()*images.length)]; co ...
- MicroPython教程之TPYBoard开发板DIY红外寻迹小车
智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言 ...
- Spark 学习笔记大纲
Spark 内核 第28课:Spark天堂之门解密 (点击进入博客)从 SparkContext 创建3大核心对象开始到注册给 Master 这个过程中的源码鉴赏 第29课:Master HA彻底解密 ...
- Web程序员必备的CSS工具
对于web开发来说,CSS是最有效的美化页面.设置页面布局的技术.但问题是,CSS是一种标记性语言,语法结构非常的松散.不严谨.WEB程序员会经常发现自己的或别人的CSS文件里有大量的冗余代码或错误或 ...
- Linux简介与安装
Linux系统的组成 Linux 内核:内核是系统的"心脏",是运行程序与管理像磁盘和打印机等硬件设备的核心程序. Linux Shell:Shell是系统的用户界面,提供了用户与 ...
- mysql 半同步复制 插件安装以及测试
mysql Server version: 5.5.18-log MySQL Community Server (GPL) 1.安装插件 检查mysql是否支持动态添加插件: ro ...
- 个人项目--“”小鱼企业级开发系统“”Svn地址分享
由于精力有限,博主现在只维护这一个系统,会不时的更新代码提交. ""小鱼企业级开发系统""的Svn地址:http://code.taobao.org/svn/S ...
- 网络编程(sock)搞定!
前些日子写了一个网络编程的,纯新手,能优化的地方很多!但是,也算自己独立完成了这么一个东西,晚上发上来!!
- 52e174ef38c96afbbeabe55d2ec53622 我知道这是什么
52e174ef38c96afbbeabe55d2ec53622 我知道这是什么52e174ef38c96afbbeabe55d2ec53622 我知道这是什么52e174ef38c96afb ...
- pm am 12小时格式化
<div id="m_tiem">PM 14:26</div> tiem('m_tiem'); //pm am 12小时格式化function tiem(i ...