2016-06-13 15 views
1

enter image description hereAndroidの画面の向き:

enter image description here

これらの向きが正しくここに示されているが、私はそれを実行して方向を変更したときに風景モードが動作し、すべてのボタンがenter image description here

として紛失されていません

この問題の解決策は何ですか? ランドスケープモードのXML。あなたのイメージを1として

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
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" 
android:background="@drawable/flowers" 
android:id="@+id/frontpage_layout" 

           tools:context="com.example.hassidiczaddic.multiplescreensupport.MainActivity"> 

    <RelativeLayout 

    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/scrollView"> 

    <Button 
    android:layout_width="200dp" 
    android:layout_height="50dp" 
    android:text="OPEN" 
    android:textSize="20sp" 
    android:id="@+id/button.open" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

    <Button 
    android:layout_width="200dp" 
    android:layout_height="50dp" 
    android:text="LARGE" 
    android:textSize="20sp" 
    android:id="@+id/button.large" 
    android:layout_alignParentRight="true" 
    android:layout_marginRight="86dp" 
    android:layout_marginEnd="86dp" 
    android:layout_toRightOf="@+id/button.rate" 
    android:layout_toEndOf="@+id/button.rate" /> 

    <Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="20sp" 

    android:text="Something" 
    android:id="@+id/button.something" 
    android:layout_marginTop="38dp" 
    android:layout_below="@+id/button.open" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_toLeftOf="@+id/button.rate" 
    android:layout_toStartOf="@+id/button.rate" /> 

    <Button 
    android:layout_width="wrap_content" 

    android:textSize="20sp" 
    android:layout_height="wrap_content" 
    android:text="RATE" 
    android:id="@+id/button.rate" 
    android:layout_marginTop="38dp" 
    android:layout_below="@+id/button.something" 
    android:layout_toRightOf="@+id/button.open" 
    android:layout_toEndOf="@+id/button.open" /> 

    <Button 
    android:layout_width="wrap_content" 
    android:textSize="20sp" 
    android:layout_height="wrap_content" 
    android:text="CLOSE" 
    android:id="@+id/button.close" 
    android:layout_alignTop="@+id/button.something" 
    android:layout_alignRight="@+id/button.large" 
    android:layout_alignEnd="@+id/button.large" 
    android:layout_toRightOf="@+id/button.rate" 
    android:layout_toEndOf="@+id/button.rate" /> 
    </RelativeLayout> 

    </ScrollView> 
+0

eclipseタグとは何ですか? –

+1

異なって見なければならない場合は、2つのレイアウトを作成します。 1つはポートレートモード用、もう1つはランドスケープモード用です。 –

+1

私はそれらのために2つのxmlレイアウトを作っています。 – Niroj

答えて

1

あなたはRelativeLayoutを使用していることを示しており、それがオーバーラップして入れ違いされるよう余地はボタンのために利用可能ではありませんので。

より良いあなたは、画面の高さと、すべてのパラメータを算出することにより、動的にボタンのサイズを変更する必要がRelativeLayout他の親としてScrollViewを使用しています。

+1

私はRelativelayoutの親としてスクロールビューを使用しましたが、これも動作しません。 – Niroj

+1

@NirojthapaあなたはあなたのXMLを投稿して、より具体的に役立つかもしれません。 – Manifest

+1

私はxml..pleaseを追加しました。 – Niroj

4

メインアクティビティのレイアウトが異なります。ここで、OSは各XMLレイアウトに指定された修飾子に従って現在のデバイスに最も適したものを選択します。ルールはhereと定義されています。

small/normal/largeの画面サイズのレイアウトを提供しているので、これらのレイアウトはlandレイアウトよりも優先されます。実際にはレイアウトが使用される唯一の時間はxlargeスクリーンで実行するときです。それはlayout-landで定義されたレイアウトが使用されるからです(詳細は上のリンクをチェックしてください)。

あなたはいずれかの方法でこの問題を解決することができます

  1. を、その後OSがlayout-small/layout-normal/layout-largeの使用ことに注意して、layout-port & layout-landで提供1よりも使用するように、より良い何もない、layout-small/layout-normal/layout-largeを削除します何年も強く落胆しているので、Supporting Multiple Screensの記事をチェックしてください。
  2. 代わりのlayout-port & layout-landを使用して、XXXは、あなたがこのレイアウトを適用したい最小の高さである利用可能な高さ修飾子(layout-hXXXdp)を使用します。たとえば、layout-h320dpには、携帯電話のポートレートモードのレイアウトを含めることができ、レイアウトXMLのサイドバイサイドバージョンをデフォルトフォルダ(layout)に入れることができます。
  3. ボタンをScrollViewに入れて、上記のいずれも必要でないようにUIデザインを再設計します。
+1

私はスクロールビューを相対レイアウトの親として含めましたが、それでも出力は同じです。私のXMLファイルは上です。 – Niroj

+1

@Nirojthapaレイアウトが有効ではないと思われます。存在しないid/button.rateを参照しています。 – Kai

+1

@ + id/button.rateはButton RATEのIDです – Niroj

関連する問題