首页 > 其他分享 >C003Android学习笔记-初级控件(三)

C003Android学习笔记-初级控件(三)

时间:2023-02-22 16:02:42浏览次数:38  
标签:Drawable 控件 corners 初级 shape 图形 C003Android 节点 属性

一、图形基础

1、图形Drawable

概述:

Android把所有显示出来的图形都抽象为Drawable(可绘制的),这里的图形不止是图片,还包括色块、画板、背景等;

引用Drawable文件可分为两种情况:

①使用setBackgroundResource和setImageResource方法,可直接在参数中指定drawable文件的资源ID,例如R.drawable.xxx;

②使用setBackgroudDrawable、setImageDrawable和setCompoundDrawables等方法,参数是Drawable对象,这时需要从资源文件里生成Drawable对象,例如:Drawable drawable = getResource().getDrawable(R.drawable.xxx);

 

2、状态列表图形

 一般drawable是静态图形,但Button点击的时候呈现了一个动态的背景以对用户的点击进行反馈。

根据不同的触摸情况变更图形显示,这种情况会用到Drawable的一个子类StateListDrawable,该子类在XML文件中定义不同状态时呈现的图形列表;

示例:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_home_show" android:state_selected="true"/>
    <item android:drawable="@drawable/ic_home_hide"/>
</selector>

上面示例的中点在于android:state_selected="true",当state_selected为true的时候表示被选中时候显示的图形,另一个图形是其他情况下显示的图形;

状态类型取值说明:

C003Android学习笔记-初级控件(三)_常用属性

 

3、形状图形

还有一种常用的XML图形文件,就是shape图形;

形状图形的i定义文件是以shape为根节点,有以下6个子节点:corners(圆角)、gradien(渐变)、padding(间隔)、size(尺寸)、solid(填充)、stroke(描边),各节点的属性主要是长宽、颜色、角度以及颜色;

shape:

shape是图形XML的根节点,用来描述图形是哪种几何图形,下面是常用属性:

shape字符串类型,图形的形状,取值如下:

C003Android学习笔记-初级控件(三)_常用属性_02

corners:

corners是shape的下级节点,用来描述4个圆角的规格定义,若无corners节点则表示无圆角,常用属性如下:

C003Android学习笔记-初级控件(三)_圆角_03

gradient:

gradient是shape的下级节点,用来描述形状内部的颜色渐变定义,如无此节点,则无颜色渐变,下面是gradient节点的常用属性:

C003Android学习笔记-初级控件(三)_常用属性_04

C003Android学习笔记-初级控件(三)_常用属性_05

padding:

padding是shape的下级节点,用来描述形状图形与周围视图的间隔大小,若无,则无间隔,下面是padding节点的常用属性:

C003Android学习笔记-初级控件(三)_常用属性_06

size:

size是shape的下级节点,用来描述形状图形的尺寸大小(高度和宽度),若无,则表示宽高自适应,下面是size节点的常用属性:

C003Android学习笔记-初级控件(三)_圆角_07

solid:

solid是shape的下级节点,用来描述形状图形的填充色彩,若无,则无填充颜色,下面是solid节点的常用属性:

color:颜色类型,内部填充的颜色;

stroke:

stroke是shape的下级节点,用来描述形状图形四周边线的规格定义,若无,则无描边,下面是常用属性:

C003Android学习笔记-初级控件(三)_圆角_08

C003Android学习笔记-初级控件(三)_其他_09

在实际开发中常用到的节点有3个:corners(圆角)、solid(填充)、stroke)(描边),shape根节点的属性一般不要设置,默认矩形就可以了;

 

4、九宫格图片

拉伸图形时至对其内部进行拉伸,详细使用时再做探究;

 

 

标签:Drawable,控件,corners,初级,shape,图形,C003Android,节点,属性
From: https://blog.51cto.com/u_13272819/6079196

相关文章

  • C004Android学习笔记-中级控件(一)
    一、RelativeLayout相对布局1、概述①RelativeLayout下级视图的位置是相对位置,得有具体发参照物才能确定最终位置;②如果不指定下级视图的参照物......
  • Wpf 控件定制化系列
    本文主要记录Wpf各种控件的使用及自定义、动画等。ContentControl添加自定义动画有两种比较简易的方式,一是继承ContentControl定义新控件,这个很明显是可行的,并且可以实......
  • 简单理解js之ActiveX控件 new ActiveXObject
    ActiveX控件切记:ActiveX是微软的东西,故只有IE才支持!ActiveX控件,它一些可重用的软件组件或对象,通过使用ActiveX控件,可以很快地在网址、台式应用程序、以及开发工具中加入......
  • 基于uniGUI的第三方控件Unifalcon的安装(60)
    链接:https://pan.xunlei.com/s/VNOmoEQ3GajxTxfyPmflp0OtA1#提取码:5tx9迅雷网盘参考https://blog.csdn.net/sglqh/article/details/83339490Unifalcon是一组基于unigui......
  • 初级会计(一)- 实务基础
    第一章概述第一节会计概念、职能和目标一、会计概念(一)会计的定义现代会计是以货币为主要计量单位,采用专门方法和程序,对企业和行政、事业单位的经济活动过程及其结果......
  • PMAlign编辑控件:训练区域与原点选项卡
    介绍:使用“训练区域和原点”选项卡定义TrainRegion,该区域定义了TrainImage缓冲区中成为训练模式的区域。您还可以在Current.TrainImage缓冲区中以图形方式定义火......
  • iframe中获得父页面的easyUi控件
    这种写法可以获取控件对象,但是不能做任何操作。很奇怪。。。$("#currentId",parent.document 换成此写法即可varnode=parent.$('#groupTree').tree('getSelected')......
  • 通过一个具体的例子,深入了解 SAP UI5 控件数据双向绑定的工作原理和问题排查方法试读
    笔者知识星球里有朋友提问:SAPUI5中的sap.m.select控件,在当前页面做任何操作时,都可以选中key值,但触发dialog之后,可以看到select框内的key值被清空,当关闭dialo......
  • WPF 布局控件
    <!--Horizontal水平竖直排放元素默认Vertical竖直排放加属性Orientation--><StackPanelOrientation="Horizontal"><ButtonWidth="100"Height......
  • jquery触发控件的点击事件
     可以使用trigger或者triggerHandler函数,比如设置取得焦点事件$("input").trigger("focus");$("input").triggerHandler("focus");触发点击事件不能这样写:......