Ken*_*Ken 7 android android-imagebutton
我已经找到了回答这个问题的帖子,但是没有一个能为我工作,所以我认为我对它应该如何运作有一个根本的误解.我有一个ImageButton,它有一个png文件.除白色箭头外,png大多是透明的.我想用setColorFilter为箭头着色:
imageButton.setColorFilter(Color.argb(255, 225, 0, 0));
Run Code Online (Sandbox Code Playgroud)
但这没有任何影响.我已尝试使用各种Porter-Duff模式的setColorFilter版本,但这些都没有.关于问题可能是什么或者我可能缺少什么的任何想法将不胜感激.
Run*_*del 13
您必须从按钮获取Drawable,因为您尝试使用的setColorFilter(在您的设置中)适用于那些.
ImageButton btn = (ImageButton) myLayout.findViewByID(R.id.my_button);
int mycolor = getResources().getColor(R.color.best_color);
btn.getDrawable().setColorFilter(mycolor, PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)
只要您对Drawable对象有正确的引用,
e.g. textView.getCompoundDrawables()[2].setColorFilter(...);
在其xml中:
<TextView
...
android:drawableLeft="..."
...
/>
Run Code Online (Sandbox Code Playgroud)
你可以使用myDrawableObject.setColorFilter()来完全喜欢.
编辑:
对于ImageButton,drawable imageButton.getDrawable()对应于android:src="..."while imageButton.getBackground()对应的android:background="..."属性.确保在正确的drawable上调用setColorFilter.
| 归档时间: |
|
| 查看次数: |
5929 次 |
| 最近记录: |