我试图用按钮创建三行,第一行和最后一行固定在屏幕的顶部和底部,中间的一行固定在中心垂直。
我可以使用android:layout_above将两个TextView修复到顶部和底部的按钮行 - 但是如果我尝试不同的设备屏幕,则中心文本视图显示在不通的地方并且会破坏布局。当我将问题 - 文本视图修复为中心 - 垂直时,效果是相同的。然后我的中间按钮线在不知名的地方,虽然我使用了android:layout_above。
我该怎么办?
谢谢你, 基督教
截图: https://www.dropbox.com/s/zx8zavn5k077th4/screen.jpg
我的XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<!--
1
-->
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/pause"
android:layout_alignLeft="@+id/play"
android:text="1. Dialog abspielen"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/play"
style="@style/btnStyleShakespeare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/record"
android:layout_alignParentTop="true"
android:layout_marginTop="38dp"
android:layout_toLeftOf="@+id/pause" />
<Button
android:id="@+id/pause"
style="@style/btnStyleBeige"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/play"
android:layout_alignTop="@+id/play"
android:layout_toLeftOf="@+id/stopsol" />
<Button
android:id="@+id/stop"
style="@style/btnStyleOrange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/stoprec"
android:layout_alignRight="@+id/stopsol"
android:layout_alignTop="@+id/pause" />
<!--
2
-->
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/record"
android:layout_alignLeft="@+id/record"
android:text="2. Ihre Aufnahme"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/record"
style="@style/btnStyledark_khaki"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/stoprec"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/stoprec"
android:layout_toLeftOf="@+id/stoprec"
android:layout_centerVertical="true" />
<Button
android:id="@+id/stoprec"
style="@style/btnStyleOrange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView3"
android:layout_alignRight="@+id/stopsol"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/paussol" />
<!--
3
-->
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/playsol"
android:layout_alignLeft="@+id/playsol"
android:text="3. Aufnahme + Lösung abspielen"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/playsol"
style="@style/btnStyleShakespeare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/stopsol"
android:layout_alignTop="@+id/stopsol"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/paussol" />
<Button
android:id="@+id/paussol"
style="@style/btnStyleBeige"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/stopsol"
android:layout_alignTop="@+id/stopsol"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/stopsol"
style="@style/btnStyleOrange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/paussol" />
</RelativeLayout>
答案 0 :(得分:2)
您的xml非常混乱,您应该在布局中组织项目。这是为您的第二个项目执行此操作的一种方法:
<!-- 2 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/stop"
android:orientation="vertical">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2. Ihre Aufnahme"
android:textAppearance="?android:attr/textAppearanceMedium" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<Button
android:id="@+id/record"
style="@style/btnStyledark_khaki"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true" />
<Button
android:id="@+id/stoprec"
style="@style/btnStyleOrange"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>