android-如何动态地改变 shape color?

问题描述

如何动态地改变 shape color?
<?xml version=""1.0"" encoding=""utf-8""?><shape xmlns:android=""http://schemas.android.com/apk/res/android""   android:shape=""rectangle"">    <solid       android:color=""#FFFF00"" />    <padding android:left=""7dp""        android:top=""7dp""        android:right=""7dp""        android:bottom=""7dp"" /></shape><TextView    android:background=""@drawable/test""    android:layout_height=""45dp""    android:layout_width=""100dp""    android:text=""Moderate""/>

现在我想根据web服务调用的信息让shape去改变颜色。所以它可能是黄色,绿色或红色或者是从web服务调用的信息中获取的颜色。

基于这些信息,如何改变shape的颜色?

解决方案

用下面的代码修改:

ShapeDrawable bgShape = (ShapeDrawable )btn.getBackground();bgShape.getPaint().setColor(Color.BLACK);

解决方案二:
GradientDrawable p = (GradientDrawable) viewHandle.subject_textview.getBackground();
p.setColor(Color.RED);

解决方案三:
GradientDrawable p = (GradientDrawable) viewHandle.subject_textview.getBackground();

p.setColor(Color.RED);

解决方案四:
在 java 中创建自己的 shapes

private void makeShapes() {    activeDrawable = new ShapeDrawable();    inactiveDrawable = new ShapeDrawable();    activeDrawable.setBounds(0 0 (int) mIndicatorSize            (int) mIndicatorSize);    inactiveDrawable.setBounds(0 0 (int) mIndicatorSize            (int) mIndicatorSize);    int i[] = new int[2];    i[0] = android.R.attr.textColorSecondary;    i[1] = android.R.attr.textColorSecondaryInverse;    TypedArray a = this.getTheme().obtainStyledAttributes(i);    Shape s1 = new OvalShape();    s1.resize(mIndicatorSize mIndicatorSize);    Shape s2 = new OvalShape();    s2.resize(mIndicatorSize mIndicatorSize);    ((ShapeDrawable) activeDrawable).getPaint().setColor(            a.getColor(0 Color.DKGRAY));    ((ShapeDrawable) inactiveDrawable).getPaint().setColor(            a.getColor(1 Color.LTGRAY));    ((ShapeDrawable) activeDrawable).setShape(s1);    ((ShapeDrawable) inactiveDrawable).setShape(s2);}

解决方案五:
根据服务器的颜色值来动态改变界面效果

时间: 2024-10-22 21:45:09

android-如何动态地改变 shape color?的相关文章

Android如何动态改变App桌面图标

时不时的我们就会发现,一些我们常见的应用,比如某宝,某东,在一些特殊的日子中,比如双十一,元旦,为了迎合这样一个日子的气氛,在桌面的应用图标就会发生改变,其实对于这样的一个桌面图标更换,Android中为我们提供了AndroidManifest.xml里的<activity-alias>标签实现方式(更多文章请关注我的微信公众账号,左边二维码). 我们知道,我们每写一个 Activity就要在AndroidManifest进行配置一下,我们才可以正常的启动它,除此之外,我们还可以对它设置一个别

在Canvas上根据变量改变Shape的位置

昨晚有朋友问: 引用 Hi,帮我讲解一下WPF怎样在Canvas或者Grid上根据变量改变 Shape的位置和形状吧- 没太理解问题在哪里,不过看样子是数据绑定方面不熟悉? 那 就写个用到Canvas和数据绑定的例子吧.在VS2008里新建一个WPF应用,然后把下面的Window1.xaml和 Window1.xaml.cs替换进去就行. 做出来的是像这样的一个界面(是很丑啦 T T) 把Window里 的根容器Grid分成上下两行:上半部分放置用于控制和显示坐标的控件:下半部分放置一个Canv

JQuery实现动态适时改变字体颜色的方法

 这篇文章主要介绍了JQuery实现动态适时改变字体颜色的方法,实例分析了jQuery操作鼠标事件及颜色的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JQuery实现动态适时改变字体颜色的方法.分享给大家供大家参考.具体分析如下: JQuery动态适时改变字体的颜色,Ajax的效果类似,在文本框输入文字,再选择色块,输入的文字就会变成色块标示的颜色值,很不错的效果吧.如果运行有错,请刷新一次页面即可.   代码如下: <!DOCTYPE html PUBLIC "

Android编程动态加载布局实例详解【附demo源码】_Android

本文实例讲述了Android编程动态加载布局的方法.分享给大家供大家参考,具体如下: 由于前段时间项目需要,需要在一个页面上加载根据不同的按钮加载不同的布局页面,当时想到用 tabhot .不过美工提供的界面图完全用不上tabhot ,所以想到了动态加载的方法来解决这一需求.在这里我整理了一下,写了一个 DEMO 希望大家以后少走点弯路. 首先,我们先把界面的框架图画出来,示意图如下: 中间白色部门是一个线性布局文件,我喜欢在画图的时候用不同的颜色将一块布局标示出来,方便查看.布局文件代码如下:

android-如何动态的改变 Spinner 中 TextView 的文本?

问题描述 如何动态的改变 Spinner 中 TextView 的文本? 当我从 Spinner 中选择任何一项 items 时,如何动态的改变TextView的文本? 我使用的代码: private Spinner paidIn = null; paidIn = (Spinner) findViewById(R.id.paidIn); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.a

Android实现手机壁纸改变的方法_Android

本文实例讲述了Android实现手机壁纸改变的方法.分享给大家供大家参考.具体如下: main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" androi

Android编程动态修改RelativeLayout宽高的方法_Android

本文实例讲述了Android编程动态修改RelativeLayout宽高的方法.分享给大家供大家参考,具体如下: 我们经常会动态修改RelativeLayout的宽高,这样的代码,比较简单,就是修改Relativelayout的LayoutParams就可以.代码一般如下: RelativeLayout ss = (RelativeLayout) findViewById(R.id.myRelativeLayout); ss.setLayoutParams(new RelativeLayout.

JQuery实现动态适时改变字体颜色的方法_jquery

本文实例讲述了JQuery实现动态适时改变字体颜色的方法.分享给大家供大家参考.具体分析如下: JQuery动态适时改变字体的颜色,Ajax的效果类似,在文本框输入文字,再选择色块,输入的文字就会变成色块标示的颜色值,很不错的效果吧.如果运行有错,请刷新一次页面即可. 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1

PS将网上的动态图改变成自已的GIF签名档动画教程

有时候在网上看到心动的GIF动态图,自已也想要弄一个,可怎么弄呢?本文就教大家用PS将网上的动态图改变成自已的GIF签名档动画效果, 喜欢的同学可以跟着来学习一下! 这个东西真心要有耐心,我估计没几个人会好好做出来的,我也不怕烂大街 效果图: 原视频是从酷六里面找来的,原地址 爱吃提提屁 my.ku6.com/watch?v=ADYSrVqyWpt89zGj#share ,你们能下载的最好,不能下载就用我的方法 关于我是如何下载KU6视频的,看完视频,一定要看完....我是点击IE的intern