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

多次使用drawable,但颜色不同

,可以通过使用颜色资源和drawable资源的组合来实现。

首先,创建一个颜色资源文件,例如colors.xml,定义不同的颜色值,如下所示:

代码语言:txt
复制
<resources>
    <color name="color1">#FF0000</color>
    <color name="color2">#00FF00</color>
    <color name="color3">#0000FF</color>
</resources>

接下来,创建多个drawable资源文件,例如shape_drawable.xml,使用上述定义的颜色资源作为填充颜色,如下所示:

代码语言:txt
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/color1" />
    <!-- 其他形状属性 -->
</shape>

在布局文件或代码中,可以使用这些drawable资源,并为每个使用的drawable设置不同的颜色,如下所示:

代码语言:txt
复制
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/shape_drawable"
    android:tint="@color/color1" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/shape_drawable"
    android:tint="@color/color2" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/shape_drawable"
    android:tint="@color/color3" />

在上述示例中,我们使用了相同的drawable资源文件shape_drawable.xml,但通过设置不同的颜色资源作为tint属性,实现了多次使用drawable,但颜色不同的效果。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android高效内存2:让图片占用尽可能少的内存

    测试设备:Coolpad   8676-M01   5.1   density=2.0 测试前准备操作:同一款设备,设置图片前后多次调用gc直到内存短时间内保持稳定不再变化 内存使用情况:下图依次是 初始内存...1.3 使用绘制背景或者Drawable代替图片   有些时候我们根本不需要图片,而是自己绘制背景,可以在自定义View的onDraw中绘制背景,当然最方便的还是使用系统的Drawable,绘制部分交给系统去完成...[图片] 测试设备:Xiaomi   Mi-4c   V8.2.1.0.LXKCNDL   5.1.1 测试前准备操作:同一款设备,设置背景前后多次调用gc直到内存短时间内保持稳定不再变化 内存使用情况...:下图依次是 初始内存,使用图片占用的内存,使用Drawable占用的内存,使用onDraw绘制占用的内存 ?...所以我们的外部虽然看起来释放了,里层却并不一定完全释放了,我们使用完图片后最好再释放掉里层的内存空间。 if (!

    1.7K110

    Android 开发艺术探索笔记一

    postInvalidate 这个方法与invalidate方法的作用是一样的,都是使View树重绘,两者的使用条件不同,postInvalidate是在非UI线程中调用,invalidate则是在UI...intent的Extras会被替换最新 如果manager.notify(1,notification)第一个参数是常量,那么就会弹一个通知,后续通知会把前面完全替换掉,如果每次都不同多次调用notify...一张图片所形成的的drawable,它的内部宽高就是图片的宽高,一个颜色形成的drawable没有宽高,drawable内部宽高不等同于它的大小,drawable实际区域大小可以通过他的getBounds...的内部宽高,包含 padding,一张图片形成的 Drawable 内部宽高就是图片的宽高,不同Drawable 子类是有不同的实现的,而一个颜色所形成的 Drawable 就没有内部宽高的概念,...自定义view的方法并在需要的时候参考矩阵的变换细节,就可以写出特定的自定义view动画 帧动画使用简单,较容易引起OOM,所以尽量避免使用过多尺寸较大的图片。

    93810

    Bitmap 详解

    Bitmap 与 Drawable 区别 Bitmap 是位图信息的存储器,矩形图形每个颜色的存储器,后缀为bmp,有不同的编码器 比如RGB 565等,作为一种逐像素显示对象执行效率高,缺点是存储效率低...也就是说,颜色、图片等都可以是一个Drawable 2.3 Drawable 可以通过XML定义,或者通过代码构建 2.4 Android 中 Drawable是一个抽象类,每个具体的Drawable都是其子类...能获取内部宽/高 图片Drawable其内部宽高就是图片的宽高 颜色Drawable没有内部宽高的概念 内部宽高不等同于他的大小,一般Drawable没有大小概念(作为View背景时...同样的,占用的内存也最大。...如果不进行缓存,尽管看到的是同一张图片文件,但是使用BitmapFactory类的方法来实例化出来的Bitmap,是不同的Bitmap对象。缓存可以避免新建多个Bitmap对象,避免内存的浪费。

    2.1K20

    Android 样式系统 | 主题背景属性

    @colors 的变化也会鼓励您创造更多颜色。如果在不同的情境下要使用具有相同值的、新的语义化命名的颜色 (即,不是背景色但应该使用相同颜色),这时候您仍需要在 colors 文件中创建新的条目。...由于主题背景可以被覆盖或者改变,因此这间接表示: 您不需要创建其他布局或样式就可以更改某些颜色——您可以在相同的布局中使用不同的主题背景。 始终使用? 在某些情况下,您或许不想按照主题背景更改颜色。...如果您的原始颜色发生了变化,则只需要在一个地方进行更新,无需调整所有已更新的地方。 虽然此技术很有用,仍有一些注意事项: 如果指定的颜色也具有 alpha 值,则 alpha 会被合并。...通常,我们使用简写法,将颜色设置为 Drawable,例如:

    1.4K20

    Android:常用布局介绍 & 属性设置大全

    layout_margin+方位 padding +方位 gravity layout_gravity layout_gravity 一般作用于 LeanerLayout 和 FrameLayout,此处为了与...3.3 特别注意 5个布局元素可相互嵌套使用,从而实现各种不同的效果 关于 线性布局(LinearLayout)的权重属性layout_weight请看文章 ---- 4....选择器(Selector) 4.1 作用 通过设置选择器(selector)可使控件 在不同操作下(默认、点击等) 显示不同样式 通过 xml编写 = selector.xml 4.2 属性 XML...布局形状(Shape) 作用:设置布局的颜色、边框线 使用:通过 xml编写 = shape.xml 具体使用 <shape xmlns:android="http://schemas.android.com..."0dp" android:left="1dp" android:right="1dp" android:top="1dp" /> //边框线颜色

    2.8K22

    Carson带你学Android:常用界面布局使用教程

    layout_margin+方位 padding +方位 gravity layout_gravity layout_gravity 一般作用于 LeanerLayout 和 FrameLayout,此处为了与...gravity对比 3.2 特有属性 具体介绍如下 3.3 特别注意 5个布局元素可相互嵌套使用,从而实现各种不同的效果 关于 线性布局(LinearLayout)的权重属性layout_weight...选择器(Selector) 4.1 作用 通过设置选择器(selector)可使控件 在不同操作下(默认、点击等) 显示不同样式 通过 xml编写 = selector.xml 4.2 属性 XML属性...布局形状(Shape) 作用:设置布局的颜色、边框线 使用:通过 xml编写 = shape.xml 具体使用 <shape xmlns:android="http://schemas.android.com..."0dp" android:left="1dp" android:right="1dp" android:top="1dp" /> //边框线颜色

    53620

    Android开发实现Switch控件修改样式功能示例【附源码下载】

    其实不用这么麻烦,安卓自带的Switch通过修改一些属性,也可以达到和自定义Switch差不多的一个效果。 个人感觉,Switch的属性设置和其他控件还是有挺大区别的。...-- 底层下滑条的样式选择器,可控制Switch在不同状态下,底下下滑条的颜色 -- <selector xmlns:android="http://schemas.android.com/apk/res...-- 按钮的选择器,可以设置按钮在<em>不同</em>状态下的时候,按钮<em>不同</em>的<em>颜色</em> -- <selector xmlns:android="http://schemas.android.com/apk/res/android...-- 用于对比使用的不设置任何属性的Switch -- <Switch android:layout_width="wrap_content" android:layout_height...2)修改按钮 打开,关闭 两种状态之间滑动距离(貌似小到一定程度,再改小就无效了) Switch的属性 android:switchMinWidth="20dp" 通过以上的设置,相信能满足大部分实际使用的需求了

    1.3K20

    Android-Xml绘图

    ,放在drawable目录和放在color目录下可用的属性也会不同,比如drawable目录下可用的属性为android:drawable,在color目录下可用的属性为android:color; item...有时候,不同状态下改变的不只是背景、图片等,文字颜色也会相应改变。而要处理这些不同状态下展示什么的问题,就要用selector来实现了。...定义的xml文件可以作为两种资源使用drawable和color。...作为drawable资源使用时,一般和shape一样放于drawable目录下,item必须指定android:drawable属性; 作为color资源使用时,则放于color目录下,item必须指定...:drawable属性除了引用@drawable资源,也可以引用@color颜色值;android:color只能引用@color; item是从上往下匹配的,如果匹配到一个item那它就将采用这个item

    77710

    Android样式的开发:drawable汇总篇

    使用切图工具虽然方便了,还是无法避免一套图片需要提供多张不同尺寸的图片,这会加大安装包的大小。另外,需要对图片做改动时,比如换个颜色,必须更换所有尺寸图片。...0.0~1.0之间,0.0为全透明,1.0为全不透明,API Level最低要求是11,即Android 3.0 android:mipMap 设置是否可以使用mipmap,API Level最低要求是...里最简单的标签了,只有一个属性:android:color,指定颜色值。...这个标签一般很少用,因为基本都可以通过其他更方便的方式定义颜色。另外,颜色值一般都在colors.xml文件中定义,其根节点为resources。看看两者的不同: <!...另外,比如你有一张箭头向上的图片,你还需要一个箭头向下的图片,这时就可以使用rotate将向上的箭头旋转变成一张箭头向下的drawable

    2.2K10

    Android – Drawable 详解

    Drawable List 状态集合 StateListDrawable是一个在XML中定义的可绘制对象,根据对象的状态,使用多个不同的图像来表示相同的图形。...例如,Button控件可以以几种不同的状态之一存在(按下,有焦点或不可点击),并且使用Drawable的状态列表,可以为每个状态提供不同的背景图像。...请注意,任何视图都有一个状态选择器,最常见的用途是按钮和列表视图项目。也有颜色状态选择器,允许根据视图状态来选择颜色。 <?xml version="1.0" encoding="utf-8"?...1dp" android:color="#0076a3" /> 按压和聚焦的状态将显示相同,​​这些也可能是不同的视觉状态...Drawable icon = DrawableCompat.wrap(drawable); DrawableCompat.setTintList(icon, colors); } 注意,使用的着色颜色也可以使用可绘制的状态列表

    5.4K50
    领券