我在编辑文本字段中有一个可绘制图标。我想更改图标的颜色。我目前使用的是 drawable tint,在 Xamarin studio designer 中工作正常,但它没有显示测试设备上的变化。
我已经尝试了从 jellybean 到 nougat 的所有设备仍然没有运气,我可能做错了什么?
最佳答案
EditText
不包含 tint 属性,但 imageview 有。如果你想改变 EditText
图标的颜色,你可以先改变 drawable 的色调,然后使用 drawable 设置 EditText
的背景:
EditText et2 = FindViewById<EditText>(Resource.Id.edittext2);
Drawable myicon = GetDrawable(Resource.Drawable.Icon);
myicon.SetTint(Color.Red);
et2.Background = myicon;
这是我的布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/edittext"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/icon" />
<EditText
android:id="@+id/edittext2"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/icon" />
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/icon"
android:tint="#330000FF" />
</LinearLayout>
您可以看到第二个 EditText 和 imageview 图标色调已更改:
关于c# - Xamarin android 更改图标颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668308/