这是我的XML文件代码:
<@R_566_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID" ><item androID:ID="@+ID/lvbg" androID:top="1dp"> <shape androID:ID="@+ID/ListvIEw_background" androID:shape="rectangle" > <size androID:height="220dp" androID:wIDth="600dp" > </size> <solID androID:color="@androID:color/black"></solID> <corners androID:radius="15dp" /> </shape></item></@R_566_3419@>
这是我在CustomAdapter中的代码:
convertVIEw = mInflater.inflate(R.layout.student_info_selection_fragment_icon,null);holder = new VIEwHolder();holder.collegeBG=(LayerDrawable)convertVIEw.getResources().getDrawable(R.drawable.rectangle);holder.bg = (GradIEntDrawable)holder.collegeBG.findDrawableByLayerID(R.ID.lvbg);String color = "#FF" + rowItem.getCollegecolor();holder.bg.setcolor(color.parsecolor(color));
例如,当我放#FF1D0A63时,我会变成黑色或棕色,颜色完全不同.
谢谢
所以我解决了将背景形状与图层列表分开的问题.
我将背景形状放到另一个文件中:
<?xml version="1.0" enCoding="utf-8"?><shape xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:ID="@+ID/ListvIEw_background" androID:shape="rectangle" > <size androID:height="220dp" androID:wIDth="600dp" > </size> <solID androID:color="@androID:color/black" > </solID> <corners androID:radius="15dp" /></shape>
我将其指定为TextVIEw的背景.
我使用图层列表的原因是组合2-3个形状并使它们渐变并给它们圆角.相反,我使用了VIEw和TextVIEw并将形状分配给它们作为背景并且它起作用.
这是我的新CustomAdapter:
convertVIEw = mInflater.inflate(R.layout.student_info_selection_fragment_icon,null);holder = new VIEwHolder();holder.tvBackground = (TextVIEw) convertVIEw.findVIEwByID(R.ID.tvSelectionCollegeBackground);GradIEntDrawable background = (GradIEntDrawable) holder.tvBackground.getBackground();String color = "#FF" + rowItem.getCollegecolor();background.setcolor(color.parsecolor(color));holder.tvBackground.setBackground(background);总结
以上是内存溢出为你收集整理的android – GradientDrawable的setColor方法绘制不同的颜色全部内容,希望文章能够帮你解决android – GradientDrawable的setColor方法绘制不同的颜色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)