Android布局对齐在Landscape中搞砸了

时间:2014-03-09 11:32:50

标签: android layout alignment relativelayout margin

这是我在Android上的第一个编码。我有一个5英寸屏幕和854 * 480分辨率的设备。下面的代码在肖像上看起来很完美,但是一切都在横向模式下移动(它看起来非常糟糕)。我使用了dp单位,因为它是推荐但仍然没有对齐我做错了什么?

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<RelativeLayout
 android:id="@+id/RelativeLayout01"
 android:layout_width="match_parent"
 android:layout_height="753dp"
 android:background="@color/orange" >

 <TextView
     android:id="@+id/textView2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="120dp"
     android:text="HS6151"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
     android:id="@+id/textView3"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="165dp"
     android:text="PH6151"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
     android:id="@+id/textView4"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="210dp"
     android:text="CY6151"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
     android:id="@+id/textView5"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="255dp"
     android:text="GE6151"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
     android:id="@+id/textView6"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="300dp"
     android:text="GE6152"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
     android:id="@+id/textView7"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="345dp"
     android:text="GE6161"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
     android:id="@+id/textView8"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="390dp"
     android:text="GE6162"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
     android:id="@+id/textView9"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="435dp"
     android:text="GE6163"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="65dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="110dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner3"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="155dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner4"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="200dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner5"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="245dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner6"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="290dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner7"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="335dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner8"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="380dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <spinner
     android:id="@+id/spinner9"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="200dp"
     android:layout_marginTop="425dp"
     android:entries="@array/Grade"
     android:prompt="@string/hello_world"
     android:text="Medium Text"
     android:textAppearance="?android:attr/textAppearanceMedium" />

 <Button
     android:id="@+id/button1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_below="@+id/spinner9"
     android:layout_centerHorizontal="true"
     android:layout_marginTop="19dp"
     android:text="calculate" />

 <space
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentTop="true"
     android:layout_centerHorizontal="true"
     android:layout_marginTop="55dp" />

 <TextView
     android:id="@+id/textView11"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_centerHorizontal="true"
     android:layout_marginTop="30dp"
     android:gravity="center"
     android:text="SEMESTER I - GPA CALCULATOR"
     android:textAppearance="?android:attr/textAppearanceMedium"
     android:textSize="20dp" />

 <TextView
     android:id="@+id/editText1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_below="@+id/button1"
     android:layout_centerHorizontal="true"
     android:layout_marginTop="1dp"
     android:editable="false"
     android:ems="10"
     android:gravity="center"
     android:inputType="number"
     android:textSize="20dp" />

 <TextView
     android:id="@+id/textView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="90dp"
     android:layout_marginTop="75dp"
     android:text="MA6151"
     android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

</ScrollView>

1 个答案:

答案 0 :(得分:0)

1。使用固定高度的容器不是一个好主意:android:layout_height="753dp"因为在横向上,您的身高不会是854,而是480。 作为替代方案,您可以在res / layout-port和res / layout-land中使用两个具有相同名称的xml布局,并使用特定设计。

2。在纵向模式下,大多数控件都是按设计左对齐的 因此,如果您没有提供如上所述的替代布局文件,它们也将在横向上保持对齐。