我目前正在测试最近完成的Android应用程序,并且我在不同屏幕的布局上苦苦挣扎。基本上我只是无法找出一个适合所有人的#34;对于每个布局。
正常的布局特别糟糕。在Eclipse编辑器上,我看到一件事,在模拟器上我得到另一个,在某些设备上,我得到另一个。我真的不知道如何修复这些屏幕特别是因为它们在编辑器上看起来不对。以下是我得到的一些例子:
编辑器的样子:
模拟器的样子(请注意,它是编辑器中的同一部手机):
摩托罗拉D3设备上的屏幕是什么样的(语言不同,但它的布局相同!):
我不知道它是否相关,但这是我特定屏幕的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="match_parent"
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=".EnterActivityActivity" >
<TextView
android:id="@+id/recommendationTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="29dp"
android:text="@string/recommendation_enter"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/timeTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/recommendationTextView"
android:layout_marginTop="48dp"
android:layout_toLeftOf="@+id/recommendationTextView"
android:text="@string/time_recommendation_enter" />
<EditText
android:id="@+id/changeRecommendationEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/changeRecommendationtextView"
android:layout_alignBottom="@+id/changeRecommendationtextView"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/activityEnterButton"
android:ems="5"
android:inputType="number"
android:maxLength="5"
android:focusable="false"/>
<Button
android:id="@+id/activityEnterButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/pedometerButton"
android:layout_centerHorizontal="true"
android:text="@string/enter_button_recommendation_enter" />
<Button
android:id="@+id/pedometerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="@string/open_pedometer_button_recommendation_enter" />
<TextView
android:id="@+id/changeRecommendationtextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/changeRecommendationButton"
android:layout_alignParentLeft="true"
android:layout_marginBottom="28dp"
android:text="@string/change_recommendation_enter" />
<Button
android:id="@+id/changeRecommendationButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/activityEnterButton"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:text="@string/change_button_recommendation_enter" />
<EditText
android:id="@+id/timeEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/recommendationTextView"
android:layout_alignTop="@+id/timeTextView"
android:ems="3"
android:focusable="false"
android:inputType="number"
android:maxLength="3"/>
<TextView
android:id="@+id/distanceTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/timeTextView"
android:layout_marginTop="18dp"
android:layout_toLeftOf="@+id/changeRecommendationButton"
android:text="@string/distance_recommendation_enter" />
<EditText
android:id="@+id/distanceEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/changeRecommendationButton"
android:layout_below="@+id/timeTextView"
android:ems="5"
android:focusable="false"
android:inputType="number"
android:maxLength="5"/>
</RelativeLayout>
我究竟能如何解决这个问题,因此实际看起来很好并且与所有类型的屏幕和设备保持一致?