android可绘制选择自定义

android可绘制选择自定义,android,android-drawable,Android,Android Drawable,为了更好地解释:例如,我有两种语言可用。这就是为什么我会有英语和俄语的形象。我在一个可绘制的xml文件中引用了它们 <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/image_eng"></item> <item android:drawable="@drawable/image_ru">

为了更好地解释:例如,我有两种语言可用。这就是为什么我会有英语和俄语的形象。我在一个可绘制的xml文件中引用了它们

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:drawable="@drawable/image_eng"></item>
<item android:drawable="@drawable/image_ru"></item>

</selector>

我应该使用哪种类型的可绘制xml文件?
如何设置和检测状态并切换图像?基本上,它的工作原理类似于android:state

如果我理解正确,您希望在手机使用英语时使用一个图像,在手机使用俄语时使用另一个图像。您应该在可绘制文件夹中使用语言修饰符,而不是在可绘制名称中使用

因此,您将拥有一个名为drawable en的文件夹,其中包含您的英文图像(例如drawable en/image.png)。然后,创建另一个名为drawable ru的文件夹,其中包含俄文版本的图像,但必须具有相同的名称(drawable ru/image.png)

然后,在布局XML中(或在引用可绘制文件的任何地方),只需引用@drawable/image。。。Android将自动选择合适的图像。

请阅读工作原理

您不必为此使用选择器,也不必强制执行任何操作

只需将图像文件放在以下文件夹中:

  • res/drawable en
  • res/drawable ru
在您的代码中,您可以使用:

Drawable draw = getResources().getDrawable(R.drawable.image);

应用程序将根据手机语言选择合适的选项

我想您误解了选择器的用法。选择器用于显示聚焦、活动、按下等状态之间的差异。它不像HTML中的选择/下拉列表。