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_height
layout_margin
+方位padding
+方位layout_gravity
gravity
3.2 特有属性
- 具体介绍如下
3.3 特别注意
- 5个布局元素可相互嵌套使用,从而实现各种不同的效果
- 关于 线性布局(LinearLayout)的权重属性layout_weight请看文章
4. 选择器(Selector)
4.1 作用
通过设置选择器(
selector
)可使控件 在不同操作下(默认、点击等) 显示不同样式通过
xml
编写 =selector.xml
4.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
、false
4.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类作为属性动画的基类,它是一个抽象类,它提供了实现动画的基本架构,但是我们不 ...
随机推荐
- 嵌入式linux下wifi网卡的使用(二)——应用程序iw编译
首先编译iw,Iw支持两种加密/认证方式.第一种是OPEN/OPEN 第二种是WEP/WEP在网上下载iw源码,发现iw的编译需要依赖libnl库(这个库是为了方便应用程序使用netlink借口而开发 ...
- checkbox 全选或取消
Html: 点击label 也能 check <div class="checkbox"> <input class ...
- JDBC详解系列(四)之建立Stament和执行SQL语句
建立Stament 在获得连接之后,我们就可以跟数据库进行交互了. 在JDBC中,我们发送SQL语句到数据库这些操作时通过Stament,Preparement,CallableStateme ...
- 关于centos启动报错:Failed to start Crash recovery kernel arming的解决方案
在VMware中安装了centos,重启时报错:Failed to start Crash recovery kernel arming 本质是kdump服务启动失败 先来说一下,什么是kdump K ...
- 转- 在ubuntu下安装Nginx
一. 安装包安装 1.1 安装Nginx $sudo apt-get install nginx Ubuntu安装之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经 ...
- MongoDB的安装与配置
一.安装包安装: 1.安装 #1.安装路径为D:\MongoDB,将D:\MongoDB\bin目录加入环境变量 #2.新建目录与文件D:\MongoDB\data\dbD:\MongoDB\log\ ...
- 【ASP.NET MVC系列】浅谈表单和HTML辅助方法
[01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...
- cs231n spring 2017 lecture2 Image Classification 听课笔记
1. 相比于传统的人工提取特征(边.角等),深度学习是一种Data-Driven Approach.深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体.而人工提取特征的方式很脆弱,换一个物体 ...
- 类A是公共的,应在名为A.java的文件中声明错误
第一种!!! “类A是公共的,应在名为A.java的文件中声明”这句话需要分两步来理解: 1.如果类A被声明为公共的(public),那么必须将类A保存在名为A.java的文件中: 2.反之,在一个文 ...
- HDU 2639 Bone Collector II(01背包变形【第K大最优解】)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...