布局基础

2019-07-20  本文已影响0人  四喜汤圆

一、Shape

Android中shape属性详解

1. 作用

ShapeDrawable 用于定义一个基本的几何图形,ShapeDrawable 对象的 XML 文件的根元素为<shape>

2. 相关概念

摘自《疯狂Android-李刚》

(1)<shape>标签的属性

(2)<shape>标签的子标签

作用:定义圆角

该标签下属性:

<corners    //定义圆角  
    android:radius="dimension"      //全部的圆角半径  
    android:topLeftRadius="dimension"   //左上角的圆角半径  
    android:topRightRadius="dimension"  //右上角的圆角半径  
    android:bottomLeftRadius="dimension"    //左下角的圆角半径  
    android:bottomRightRadius="dimension" />    //右下角的圆角半径

作用:定义内部填充色

该标签下属性:

<solid  android:color="color" /> 

作用:定义渐变色

该标签下属性:
android:type=["linear" | "radial" | "sweep"] //共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变

android:type="linear"时可用属性:
android:angle="integer" //渐变角度,必须为45的倍数,0为从左到右,90为从上到下

android:type="radial"(放射)时可用属性:
android:centerX="float" //渐变中心X的相当位置,范围为0~1
android:centerY="float" //渐变中心Y的相当位置,范围为0~1
android:gradientRadius="float" //渐变的半径,只有当渐变类型为radial时才能使用

android:type="sweep"(放射)时可用属性:

android:type=["linear" | "radial" | "sweep"]时均可用属性:
android: startColor = "color"//渐变开始点的颜色
android: centerColor = "color"//渐变中间点的颜色,在开始与结束点之间
android: endColor = "color" //渐变结束点的颜色

作用:定义描边,可定义宽度、颜色、虚实。

该标签下属性:

<stroke       
    android:width="dimension"   //描边的宽度  
    android:color="color"   //描边的颜色  
    // 以下两个属性设置虚线  
    android:dashWidth="dimension"   //虚线的宽度,值为0时是实线  
    android:dashGap="dimension" />      //虚线的间隔 

3. 使用

(1)新建 shape.xml文件,一般放在res/drawable/

(2)写写写

(3)将 shape 应用到目标控件

二、Selector

Android中selector的使用

1. 作用

StateListDrawable 用于组织多个 Drawable 资源,当使用 StateListDrawable 作为目标组件的背景、前景图片时,StateListDrawable 所显示的 Drawable 对象会随目标组件状态的改变而自动切换

2. 相关概念

StateListDrawable 对象的 XML 文件的根元素为<selector>

(1)<selector>标签的属性
无特别属性

(2)<selector>标签的子标签
<selector>可包含多个<item>标签。<item>标签的属性有:

摘自《疯狂Android-李刚》

3. 使用

(1)新建 rselectot.xml文件,一般放在res/drawable/`

(2)写写写

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!--获取焦点时颜色-->
    <item android:color="#111" android:state_focused="true" />
    <!--失去焦点时颜色-->
    <item android:color="#112" android:state_focused="false" />
</selector>

(3)将 selector 应用到目标控件

<EditText
        android:id="@+id/username"
        android:text="账号"
        android:textColor="@drawable/selector"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

三、Android 布局文件中涉及到的单位

四、Android 布局中的基线

五、不透明度

Android设置控件的透明度(半透明效果)
Android控件设置透明度的三种方法

1. Java 代码中设置

2. xml 布局文件中android:alpha=0.7设置

3. xml 布局文件中android:background="#80987654"设置

上一篇 下一篇

猜你喜欢

热点阅读