shape--用代码修改shape的颜色属性

Android里面经常会使用shape来定制一些View的背景,可以修改View的背景颜色,形状等属性

一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是颜色是在代码里面设置的

最开始的思路是先在代码里给View设置颜色,再在shape里面设置solid属性为透明色

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >
  3. <corners
  4. android:topLeftRadius="8dp"
  5. android:topRightRadius="8dp"
  6. android:bottomLeftRadius="8dp"
  7. android:bottomRightRadius="8dp"/>
  8. <solid
  9. android:color="#00000000"/>
  10. </shape>
  1. View.setBackgroundColor(color);
  2. View.setBackgroundDrawable(R.drawable.shape);

很遗憾,不能实现我想要的需求,每设置一次Background,Background就会就会被替换掉

最后上网Google了下,找到解决方案了http://stackoverflow.com/questions/16775891/how-to-change-solid-color-from-the-code

    1. GradientDrawable myGrad = (GradientDrawable)view.getBackground();
    2. myGrad.setColor(color);
时间: 2024-11-05 04:56:06

shape--用代码修改shape的颜色属性的相关文章

在使用shape的同时,用代码修改shape的颜色属性

Android里面经常会使用shape来定制一些View的背景 可以修改View的背景颜色,形状等属性 一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是颜色是在代码里面设置的 最开始的思路是先在代码里给View设置颜色,再在shape里面设置solid属性为透明色 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="htt

Html 修改placeholder的颜色属性css样式

项目需求需要修改文本框的placeholder 的文本颜色, 百度下, 备忘,我使用的是这种方法, ::-webkit-input-placeholder { /* WebKit browsers */ color: #999; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #999; } ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #999; } :-ms-i

Android中使用shape来定义控件的一些显示属性

本人在美工方面一直是比较白痴的,对于一些颜色什么乱七八糟的非常头痛,但是在Android编程中这又是经常涉及到的东西,没办法,只有硬着头皮上. Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码:        <shape>            <!-- 实心 -->            <solid android:color="#ff9d77"/>

使用shape来定义控件的一些显示属性

Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结 先看下面的代码: <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF&

ubuntu 下 eclipse CDT代码提示框背景颜色修改

原生态的ubuntu下eclipse 代码提示框的背景颜色是黑背景,前景颜色是白的,所以看起来特别不舒服,很难辨别的清楚,所以查询了资料想修改成Windows下的样子.通过查资料所知,通过修改eclipse里面的设置是不成功的,必须得修改Ubuntu的主题来解决这个问题. 原生态的代码提示框的颜色为: 由此可以知道,这是很难看的,经过调整下,颜色背景为: 修改步骤为: 1,打开/usr/share/themes/Ambiance/gtk-2.0/gtkrc 此步骤必须要该文件的读写权限,可以通过

Allegro修改shape网络节点

使用Allegro时修改shape的网络节点方法: ①选择shape->Select Shape or Void/Cavity ②选择要修改的shape ③点击(...)修改网络节点的名字 ④修改完成 Allegro修改shape网络节点

这个代码给所有带有name属性的链接加了一个背景色

jQuery起点教程之使用选择器和事件jQuery提供两种方式来选择html的elements: 第一种是用CSS和Xpath选择器联合起来形成一个字符串来传送到jQuery的构造器(如:$("div > ul a")): 第二种是用jQuery对象的几个methods(方法).这两种方式还可以联合起来混合使用. 为了测试这些选择器,我们来试着在我们starterkit.html中选择并修改第一个ordered list. 一开始,我们需要选择这个list本身,这个list有一个

Android Theme.AppCompat 中,你应该熟悉的颜色属性

创建一个 Android 工程,第一步,也是必不可少的一步,就是定制 Application 主题样式.利用系统诸多属性定义 App 各种 View 的默认样式,能够减少 layout 文件中很多重复性的属性设置代码.在开发者官网 R.attr 栏目中,Google 列出了所有 Android SDK 中的系统级属性.如何取舍,如何区分,又有哪些常用的属性呢?本文就来列举颜色相关的一些属性介绍,以供参考. 通常,在 res/values/styles.xml 文件中定义的 application

使用CSS/JS代码修改博客模板plus

之前对CSS/JavaScript了解还不深,只是把模板的CSS胡乱修改了几个属性.最近正好也在做一个网站的前端,学习了不少东西,再来改一改~ 上次最后之所以铩羽而归,是因为从CSS里找不到那些#和.对应的东西控制的都是啥子,这回不在看那个CSS了,直接用浏览器的开发者模式打开博客,一级一级找下去,看控制要改的内容的都是哪个DIV,把那些呆滞傻二的字体一一改掉: .cnblogs_code pre { font-family: Courier New!important; font-size: