未在横向模式下正确显示应用程序的设计

时间:2013-02-25 07:28:13

标签: android

在app中,在简单模式下显示为http://www.tiikoni.com/tis/view/?id=b0c2d2f, 但在横向模式下,显示如下http://www.tiikoni.com/tis/view/?id=d109510

简单

<LinearLayout 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:orientation="vertical"
android:background="@drawable/bowlbackground" >

<LinearLayout
    android:id="@+id/hkk"
    android:layout_width="match_parent"
    android:layout_height="54dp"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="05dp" >

</LinearLayout>
<LinearLayout
    android:id="@+id/hll"
    android:layout_width="match_parent"
    android:layout_height="54dp"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="143dp" >

</LinearLayout>

<LinearLayout
    android:id="@+id/hll2"
    android:layout_width="match_parent"
    android:layout_height="54dp"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="0dp" >

</LinearLayout>

for landscape

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bowlbackground"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/hkk"
    android:layout_width="match_parent"
    android:layout_height="33dp"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="05dp"
     >
</LinearLayout>

<LinearLayout
    android:id="@+id/hll"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="70dp" >
</LinearLayout>

<LinearLayout
    android:id="@+id/hll2"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="0dp" >
</LinearLayout>

3 个答案:

答案 0 :(得分:1)

使用相对布局,而不是带边距的线性布局。你永远不知道用户手机的屏幕尺寸,所以即使使用dip / dp,也不能安全地假设它看起来如何。

使用相对布局,您可以指定每个项目应位于其他项目/布局的下方或右侧。

答案 1 :(得分:0)

我不确定您提供的信息是否足够。但请尝试在drawable中使用不同的图片进行布局。

答案 2 :(得分:0)

每次旋转手机时,活动都会重新启动,这可能会以某种方式再次调用导致图像的内容。这是操作系统的一部分,有点烦人,这就是要做的事。

如果您在清单中添加:

 android:configChanges="orientation"

到旋转完成的活动节点,你必须覆盖onConfigurationChanged。

 @Override
  public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  setContentView(R.layout.myLayout);

 }