首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android – Drawable 详解

用法 在不同情况下有很多可绘制的类型,设置按钮的状态行为,创建可伸缩的按钮背景和创建复合可绘制图层。...列表中的每个drawable都按照列表的顺序绘制 - 列表中的最后一个drawable绘制在顶部。每个drawable由单个元素内的元素表示。...最常见的用法是一个Button,它必须根据里面显示的文字来拉伸。 ? NinePatch是具有.9.png文件扩展名的图像,表示这是一个可伸缩的PNG图像。...要做到这一点,我们需要创建一个状态列表drawable来表示res / drawable / states_nice_button.xml中每个状态的drawable。 <?...④ ClipDrawable - 在XML中定义一个drawable,根据这个Drawable的当前级别剪切另一个drawable。最常用来实现诸如进度条之类的东西。

5.4K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android之Drawable介绍

    image.png Drawable Drawable是一种可以在Canvas上进行绘制的抽象的概念,颜色、图片等都可以是一个Drawable。...Drawable可以通过XML定义,或者通过代码创建。 Android中Drawable是一个抽象类,每个具体的Drawable都是其子类。 简单来讲,其可以理解为:图像。...image.png Drawable的分类 主要包括: image.png BitmapDrawable 表示一种图片,可以直接引用原始图片或者通过XML进行描述 例如: <?...shape标签创建的Drawable实体是GradientDrawable 实例: <?xml version="1.0" encoding="utf-8"?...标签 纯色填充 与gradient标签排斥 stroke标签 描边 有描边线和虚线 size标签 表示shape的固有大小,并非最终显示的大小 没有时getIntrinsicWidth返回-1;能指明Drawable

    64110

    Android样式的开发:drawable汇总篇

    inset标签 使用inset标签可以对drawable设置边距,其用法和View的padding类似,只不过padding是设置内容与边界的距离,而inset则可以设置背景drawable与View边界的距离...举例用法如下: 定义clip.xml: <?xml version="1.0" encoding="utf-8"?...时,缩放基本无效,API Level最低要求为11 使用的时候,和clip一样,用法如下: 定义scale.xml: <?...level-list通过添加item子标签来添加相应的drawable,其下的item只有三个属性: android:drawable 指定drawable资源,如果不设置该属性,也可以定义drawable...,因为还没弄清楚具体的用法,而且也涉及到Material Design,所以不在本篇讲解,后续做Material Design专题分享的时候会再详细讲解用法

    2.2K10

    Android开发笔记(七)初识Drawable

    android.graphics.drawable源码目录下的drawable有十几种,博主就不一一介绍了,只说说一些常见的用法,以及容易弄错的地方。...Drawable资源目录 drawable文件放在res目录的各个drawable目录下,\res\drawable一般放的是描述性的xml文件,图片文件一般放在具体分辨率的drawable目录下。...例如 drawable-ldpi里面主要放低分辨率的图片,如QVGA(240×320) drawable-mdpi里面主要放中等分辨率的图片,如HVGA(320×480) drawable-hdpi...Drawable的状态 简单的drawable都是静态的图形,现在我们让它动一下,根据不同的触摸情况来变更图形,这时就要用到Drawable的一个子类StateListDrawable。...="@drawable/common_jia_selected" /> </selector

    69840

    Android自定义Drawable之在Drawable中部指定透明区域方法示例

    前言 Drawable是什么?...一种可以在Canvas上进行绘制的抽象的概念 颜色、图片等都可以是一个Drawable Drawable可以通过XML定义,或者通过代码创建 Android中Drawable是一个抽象类,每个具体的Drawable...都是其子类 Drawable的优点 使用简单,比自定义View成本低 非图片类的Drawable所占空间小,能减小apk大小 在实际的开发工程中,不免想有一个中间是空洞的Drawable,也就是中间是透明的...,而其他区域正常显示的Drawable。...主要用到的技术是PorterDuffXfermode的PorterDuff.Mode.XOR模式 核心思想是先正常绘制出整个drawable,然后将指定的区域混合成透明色 看下主要代码代码 public

    1.9K20

    Drawable.Bitmap.Canvas.Paint.Matrix

    由于对Drawable、Bitmap、Canvas、Paint和 Matrix 的关系和使用 一直不太清楚,就在网上搜集了一下,摘录一些,主要来看这两篇文章:Drawable、Bitmap、Canvas...和Paint的关系以及部分使用方法 和 Android显示系统之Pixel、Bitmap、Drawable、Canvas、Paint和Matrix之间的联系 首先让我们理解下Android平台中的显示类是...Drawable – 作为Android下通用的绘制图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。...Drawable to–> Bitmap BitmapDrawable 继承自 Drawable //方法一 Resources res; InputStream is=res.openRawResource...Bitmap to–> Drawable Drawable d = new BitmapDrawable(bitmap); 3.

    1.4K60

    drawable用Kotlin应该这样写

    前言 通常我们在res/drawable下面自定义shape和selector来满足一些UI的设计,但是由于xml最终转换为drawable需要经过IO或反射创建,会有一些性能损耗,另外随着项目的增大和模块化等...那么通过代码直接创建这些drawable,可以在一定程度上降低这些副作用。本篇介绍用kotlin DSL简洁的语法特性来实现常见的drawable. 代码对应效果预览 ? ? ? ? ?...implementation 'com.github.forJrking:DrawableDsl:0.0.3’ } 抛弃xml创建方式示例(其他参见demo) // infix用法用于去掉括号更加简洁...xml变成drawable,通过android.graphics.drawable.DrawableInflater这个类来IO解析标签创建,然后通过解析标签再设置属性: //标签创建 private...: Drawable?)

    93720
    领券