Eclipse for Android中的构建时资源/布局选择?

时间:2014-08-25 15:40:22

标签: android eclipse android-layout

我公司运送Android设备来控制我们制造的工业设备。我们只运送一个运行Android 2.36的特定设备,我们大量购买并加载我们自己的应用程序,因此我们不必担心适应不同的布局,分辨率等。

我们在以色列有一位客户希望我们用希伯来语的按钮传说。 Android 2.36对希伯来语(或一般的RTL语言)没有很好的支持,所以我们认为我们要做的是用希伯来文本的图像替换这些按钮的文本。

由于希伯来语不是这些设备上支持的语言,我不能将整个设备放在希伯来语中并让Android选择带有图像的布局XML文件而不是在运行时使用的文本,所以我想我可能必须在构建时执行此操作,换句话说,在构建希伯来版本的产品时,请使用某种切换或设置来说明使用这些布局资源而不是THOSE布局资源。

我的问题:这样做的好方法是什么?有没有一种简单的方法可以强制它在构建时使用一组特定的布局XML文件,或者我在考虑这个错误?

2 个答案:

答案 0 :(得分:1)

如果您在Android Studio中使用Gradle for Android,这将是使用产品风格的好地方:

  • 将大部分代码和资源放在main sourceset中,正常
  • standard文件中定义hebrewbuild.gradle种产品风格
  • 让普通(非希伯来语)资源位于standard sourceset
  • 让希伯来语资源位于hebrew sourceset

然后,hebrew版本将使用希伯来版式,而standard版本将使用普通版式。

如果Gradle for Android不是一个选项,由于您控制硬件,您可以在设备上的某个特殊位置删除一些文件,并检查您的进程何时开始确定您是否应该处于希伯来语兼容模式或不。这假设Android设备的用户没有任意访问权限(因此外部存储安全)或者在安装应用程序后将文件注入内部存储( adb shell run-as 应该处理这个,虽然我只用过它来进行读操作,而不是写操作。)

答案 1 :(得分:0)

我打算说你可以使用layout-LAN​​G来指定基于区域的布局,但如果不支持该语言,我认为你不能这样做。 https://developer.android.com/guide/topics/resources/localization.html

您的应用是否有设置屏幕?您可以简单地设置一个设置来更改运行时的所有布局。

您使用Android Studio吗? Android studio允许调试,发布等不同的构建配置文件。您可以为以色列设置一个。