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属性 = truefalse

      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 基础:常用布局 介绍 & 使用(附 属性查询)的更多相关文章

  1. 跟我学android-android常用布局介绍

    在上一章我们曾经谈到,Android平台的界面 是使用XML的方式设计的,然后在上一章我们只做了一个简单的界面,在这章,我们将介绍如何使用常用的控件设计实用的界面. Android中的视图都是继承Vi ...

  2. Android基础之布局ConstraintLayout

    Google I/O 2016 上发布了 ConstraintLayout,据说很强大,那就一探究竟吧! gradle配置 compile 'com.android.support.constrain ...

  3. Android中常用布局单位

    Android在UI布局时经常用到一些单位,对单位混用直接会影响UI的显示,要想正确的在布局中使用每种单位就必须先真正的熟悉它. UI显示效果的影响因素:屏幕尺寸.屏幕密度.分辨率:而android手 ...

  4. WPF常用布局介绍

    概述:本文简要介绍了WPF中布局常用控件及布局相关的属性 1 Canvas Canvas是一个类似于坐标系的面板,所有的元素通过设置坐标来决定其在坐标系中的位置..具体表现为使用Left.Top.Ri ...

  5. Android 之常用布局

    LinearLayout 线性布局. android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 vertical ...

  6. Android linearlayout常用布局

    用linearlayout完成这样的布局效果,这样的布局还是比较常用的,具体的xml代码如下: <LinearLayout xmlns:android="http://schemas. ...

  7. Android中常用布局

     1.线性布局  LinearLayout         orientation:方向:vertical,垂直:horizontal,水平         gravity:对齐方式,子控件相对于当前 ...

  8. Android五大布局介绍&属性设置大全

    前言 在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置. 目录 Android五大布局介绍&属性设置. ...

  9. Android基础夯实--重温动画(四)之属性动画 ValueAnimator详解

    宝剑锋从磨砺出,梅花香自苦寒来:千淘万漉虽辛苦,吹尽狂沙始到金: 长风破浪会有时,直挂云帆济沧海 一.摘要 Animator类作为属性动画的基类,它是一个抽象类,它提供了实现动画的基本架构,但是我们不 ...

随机推荐

  1. 带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例

    转载请以链接形式注明文章来源,MicroPythonQQ交流群:157816561,公众号:MicroPython玩家汇 历来关于温湿度的检测都是没有间断过的,这次我们继续检测温湿度,同样还是使用DH ...

  2. Python爬虫知识点二

    一.request库 import json import requests from io import BytesIO #显示各种函数相当于api # print(dir(requests)) u ...

  3. css条纹背景

    一. 水平条纹 1. 两种颜色: html <div class="stripe"></div> css .stripe{ width: 250px; he ...

  4. JS ajaxfileUpload 一次性上传多个input控件 上传多个文件

    本方法适用于一次性上传多个input框输入的文件,如下图所示,任务是需要一次上传两个input框提供的两个文件. 具体方法: 1.修改ajax调用方法 如上图所示,只需要将ajaxFileUpload ...

  5. python并开发编程之协程

    一 引出协成 并发的本质是:切换+保存状态 CPU在运行行一个任务时,会在两种情况下切走去执行其他任务,一是该任务发生了阻塞,二是运行该任务的时间过长 yeild可以保存状态,yeild状态保存与操作 ...

  6. 【后缀自动机】洛谷P3804模板题

    题目描述 给定一个只包含小写字母的字符串SSS, 请你求出 SSS 的所有出现次数不为 111 的子串的出现次数乘上该子串长度的最大值. 输入输出格式 输入格式: 一行一个仅包含小写字母的字符串SSS ...

  7. CentOS环境下tomcat启动超级慢的解决方案

    在本地开发环境,应用正常启动. 在CentOS测试环境,应用启动速度也是正常的. 但是在阿里云的生产环境,tomcat启动超级慢,并且在最终打印出来以下内容: org.apache.catalina. ...

  8. Jfinal-Plugin源码解读

    PS:cnxieyang@163.com/xieyang@e6yun.com 本文就Jfinal-plugin的源码进行分析和解读 Plugin继承及实现关系类图如下,常用的是Iplugin的三个集成 ...

  9. Python 操作 GA API 指南

    因为需要写一个 Blog Feature 的缘故,所以接触了下 GA 的 Python API,发现 G 家的 API 不是那么直观,比较绕,但是,在使用过程中发现其实 G 家的 API 设计挺有意思 ...

  10. 蓝桥杯模拟赛-引爆炸弹-DFS+并查集

    今天整理电脑,翻出来了很久以前大佬给的题,贴一下. 引爆炸弹 1000ms 在一个 n×m的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸 ...