Android 中英文切换,如何切换drawable里的图片
时间: 2024-09-23 20:08:06 浏览: 47
Android基于ImageSwitcher实现图片切换功能
在Android应用中,如果你需要在界面中展示的文字内容支持多种语言,并且相应的图片资源也要随着语言切换而变化,你可以通过以下步骤切换drawable目录下的图片:
1. 创建多套drawable资源文件夹:在res目录下创建`drawable-en`, `drawable-zh-rCN`等文件夹,分别对应英语和其他语言。例如,对于中文,你可以创建`drawable-zh-rCN`。
2. 按照语言国际化规则提供图片资源:为每种语言准备一张图片并放在对应的文件夹里。比如,对于中文版的“设置”图标,你可以在`drawable-zh-rCN`里放一个名为`ic_setting.zh.png`的图片,而在`drawable-en`里放`ic_setting.en.png`。
3. 使用Resources API动态加载图片:在你的代码中,可以获取当前的语言环境,然后从相应的drawable文件夹中加载图片。例如,你可以使用`getResources().getDrawable(R.drawable.ic_setting)`,这里`R.drawable.ic_setting`会被替换为你实际存放该图片的资源ID。
4. 判断语言环境:使用`Configuration`类的`locale`属性来获取用户设备的语言偏好,然后根据`Locale`对象选择对应的图片。
```java
Resources res = getResources();
String language = Locale.getDefault().getLanguage(); // 获取语言
int resourceId;
if (language.equals("zh")) {
resourceId = R.drawable.ic_setting_zh;
} else if (language.equals("en")) {
resourceId = R.drawable.ic_setting_en;
} else {
resourceId = R.drawable.ic_setting_default; // 默认情况或其他通用图片
}
Drawable drawable = res.getDrawable(resourceId);
// 使用drawable对象显示图片
```
阅读全文