使用RTL语言在android 4.2+上使用paddingLeft的后果

时间:2014-04-30 07:35:33

标签: android android-layout

我在google play上发布了一个应用程序,我正面临着一个只出现在三星Galaxy Tab 2 10.1和android 4.1上的错误。 (你可以想象我没有那个设备)

我有错误报告

java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: android.view.InflateException: Binary XML file line #8: Error inflating class <unknown>
...
Caused by: java.lang.NumberFormatException: Invalid int: "5.0dip"
at java.lang.Integer.invalidInt(Integer.java:138)

您可以想象,当我们没有设备时,我们很难调试,但我认为我找到了the same problem

大多数时候,我使用paddingStart&amp; paddingEnd像这样:

android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingStart="5dp"
android:paddingEnd="5dp"

每次paddingleft = paddingstart(和paddingRight = paddingEnd),并且大多数情况下4个属性具有相同的值。

如果我

,有人知道这种行为吗?
  • 删除所有paddingStart和paddingEnd
  • 激活RTL支持

是否需要paddingLeft和paddingRight属性?我找到了very interesting post,但它并没有处理这种情况。特别是,LTR语言会受到影响吗?

如果没有该设备我怎么能test我的应用程序?我没有为Samsung Galaxy tab 2 10.1 Android 4.1找到一个特殊的模拟器。从现在开始测试它的唯一方法是发布新版本并希望问题得到解决,这是一个废话。

1 个答案:

答案 0 :(得分:1)

三星Android 4.1.2中的错误:

要获得解决方法,请参阅https://gist.github.com/imminent/858a47904786aa2f4360