重力值必须存储在一个资源文件中,因为我有一个多语言应用程序(阿拉伯语/英语),这将影响从ltr到rtl的布局方向。在eclipse adt中,我曾经成功地使用过同样的方法。
错误提示:无法解析标志。请在android xml文件中验证资源引用。
以下是相关截图:
结构: 布局: integers.xml: integers.xml:
错误提示:无法解析标志。请在android xml文件中验证资源引用。
以下是相关截图:
结构: 布局: integers.xml: integers.xml:
后来我意识到,即使是那些被标为错误颜色的红线,它们也可以编译和运行。
显然,由于新的SDK API通过在清单中提供supportRtl属性来支持语言方向,谷歌试图鼓励开发人员使用它,并阻止他们继续使用重力来实现语言方向。这就是为什么它被标记为红色的原因。
您可以在/values和/values-sw600dp文件夹中的styles.xml中创建两种样式。
/values/styles.xml
<style name = "AppContainerLayout">
<item name = "android:gravity">top|start</item>
</style>
/values-sw600dp/styles.xml
<style name = "AppContainerLayout">
<item name = "android:gravity">center</item>
</style>
只需在布局中使用
<LinearLayout
style = "@ style/AppContainerLayout"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical">
// childs
</LinearLayout>
gravity
。请参考 http://android-developers.blogspot.it/2013/03/native-rtl-support-in-android-42.html。 - Phantômaxx