我正在将我的应用程序翻译成几种语言,但现在我遇到了一个问题!我有几张带有文字的图片,有没有办法使用国家代码提供可绘制资源?如果我使用国家代码将drawable添加到我的应用程序中会增加应用程序的大小吗?我不希望仅仅因为这些图像而将现在 1MB 的应用程序变为 4 或 5。
谢谢你!
我正在将我的应用程序翻译成几种语言,但现在我遇到了一个问题!我有几张带有文字的图片,有没有办法使用国家代码提供可绘制资源?如果我使用国家代码将drawable添加到我的应用程序中会增加应用程序的大小吗?我不希望仅仅因为这些图像而将现在 1MB 的应用程序变为 4 或 5。
谢谢你!
等于您使用 res 目录值-es 值-fr 值设置不同的语言...您可以使用目录为每个位置设置不同的可绘制对象:
drawable-es drawable-fr ... http://developer.android.com/training/basics/supporting-devices/languages.html
请记住,目录的额外信息具有特殊重要性,您应该放在正确的位置http://developer.android.com/guide/topics/resources/providing-resources.html 例如,drawable-es-hdpi
您的 apk 大小的问题我想您不需要为所有国家/地区设置所有图像不同,不是吗?一般只需要配置几张图片
如果您不想使用不同的绘图来增加 apk 的大小,您可以编写自定义 ImageView 并使用 String 设置文本(将被翻译)或将 textView 放在 ImageView 顶部设置它们在这样的相对布局中:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical"
>
<ImageView
android:id="@+id/yImage"
android:layout_width="fill_parent"
android:layout_height="25dp"/>
<TextView
android:id="@+id/yTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/yImage"
android:layout_alignLeft="@+id/yImage"
android:layout_alignRight="@+id/yImage"
android:layout_alignTop="@+id/yImage"
android:background="@color/transparent"
android:lines="2"
android:textColor="@color/Black"
android:textSize="14sp"
android:textStyle="bold" />
</RelativeLayout>
使用框架布局也很容易。
是的,可以按国家/地区提供资源。查看此答案以获取有关如何执行此操作的详细信息:Localization and drawables
它肯定会增加您的应用程序的大小。就像软件开发中的其他一切一样,它是性能(或图像质量)和资源(在这种情况下是 apk 的大小)之间的折衷。为避免成倍增加应用程序的大小,您可以尝试按地区而不是国家/地区提供资源,或者简单地仅提供 hdpi 版本。