下面的我的布局代码,使用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" />
答案 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" />