Android Studio建议添加android:layout_alignLeft属性,但它会打破布局?

时间:2015-01-08 02:35:14

标签: android xml android-layout

下面的我的布局代码,使用android:layout_alignStart,在Eclipse中完美运行。但是,最近我转而使用官方的Android Studio。当我在那里使用alignStart属性时,Android Studio用红色波浪线强调它并说'#34;为了支持比API 17更旧的版本(项目指定9),你还应该添加android:layout_alignLeft =" @ + id / textview1"

但是,我尝试按照Android Studio的推荐替换它,而且我没有得到alignStart应该给出的输出!我正在尝试将dataView2放在textView2的右侧,但它目前位于textView2 ...

的顶部
<TextView 
    android:id="@+id/dataView2"
    android:layout_toRightOf="@+id/textView2"
    android:layout_alignStart="@+id/dataView1"
    android:layout_alignBelow="@+id/dataView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/planet_mass_label" />

2 个答案:

答案 0 :(得分:1)

目前你的minSdk是9,所以你得到的红线表示&#34;要支持旧版本而不是API 17(项目指定9),你还应该添加android:layout_alignLeft =&#34; @ + ID / textview1&#34;

请参阅此链接:http://android-developers.blogspot.in/2013/03/native-rtl-support-in-android-42.html

如果您希望minSdk为9或小于17,则应使用两者android:layout_alignLeft="@+id/dataView1"

android:layout_alignStart="@+id/dataView1"

相应。

答案 1 :(得分:0)

由于您的原始代码使用layout_alignStart="@+id/dataView1",因此您应该为API 17兼容性添加的行

android:layout_alignLeft="@+id/dataView1"

android:layout_alignLeft="@+id/textView1"

最终代码应为

<TextView 
    android:id="@+id/dataView2"
    android:layout_toRightOf="@+id/textView2"
    android:layout_alignStart="@+id/dataView1"
    android:layout_alignLeft="@+id/dataView1"
    android:layout_alignBelow="@+id/dataView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/planet_mass_label" />