使用相同的Drawable名称以适应不同语言的最佳方式

3
我正在寻找将可绘制对象添加到我的项目中的最有效方法(以显示确认)。对于东亚语言,表示确认的符号是一个圆圈,而其他地方则使用勾号。
当前提案是否是最佳方法,还是有更好的方法?
对于zh语言代码,我是否可以简单地使用/drawable-b+zh/affirmation.xml而不必指定国家代码?
目前的提案是:
  1. /drawable/affirmation.xml
  2. /drawable-b+ja+JA/affirmation.xml
  3. /drawable-b+ko+KO/affirmation.xml
  4. /drawable-b+mn+MN/affirmation.xml
  5. /drawable-b+zh+CN/affirmation.xml
  6. /drawable-b+zh+HK/affirmation.xml
  7. /drawable-b+zh+MO/affirmation.xml
  8. /drawable-b+zh+TW/affirmation.xml

期望的结果(这是否可能/允许)

  1. /drawable/affirmation.xml
  2. /drawable-b+ja+JA/affirmation.xml
  3. /drawable-b+ko+KO/affirmation.xml
  4. /drawable-b+mn+MN/affirmation.xml
  5. /drawable-b+zh/affirmation.xml

肯定符号(东亚)

enter image description here

肯定符号(其他地方)

enter image description here

drawable/affirmation.xml(勾号符号)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="36sp" android:width="36sp"
    android:viewportHeight="24.0" android:viewportWidth="24.0">
    <path android:fillColor="#FFFFFF" android:pathData="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" />
</vector>

drawable/affirmation.xml/ (圆形符号)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="36sp" android:width="36sp"
    android:viewportHeight="24.0" android:viewportWidth="24.0">
    <path android:fillColor="#FFFFFFFF" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/>
</vector>

您可以为单组资源指定多个限定符,这些限定符之间用破折号分隔。例如,drawable-en-rUS-land 适用于横向 US-English 设备。请参阅文档 - Jignesh Mayani
@SilverskyTechnology,你还没有回答第二个问题。我已经阅读了文档,但是找不到任何有助于解决我的问题的内容。 - wbk727
1个回答

0

Android 提供了更好的本地化方式。 您不需要在资源名称中放置语言代码。 请查看文档以获取更多信息:本地化您的应用程序


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接