2011-10-29 12 views
3

私は、ポートレートモードでlayout_gravityがcenter_verticalでなければならないレイアウトを作成しようとしています。そして、私がLandscapeモードになっているとき、topにする必要があります。Androidレイアウト重力

私は風景モードでcenter_verticalレイアウトは中央に配置されていると私は上にスクロールすることができます。..

肖像

enter image description here

風景 enter image description here

私はどのように行うことができますこれは1つのレイアウトファイルにあり、複数のレイアウトファイルではありません。

レイアウトコード:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/splash_background_gradient" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:paddingTop="20dip" 
     android:paddingBottom="20dip" 
     android:orientation="vertical" > 

     <ImageView 
      android:id="@+id/SplashLogo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginBottom="40dip" 
      android:src="@drawable/splash_logo" /> 

     <Button 
      android:id="@+id/FacebookLogin" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginLeft="25dp" 
      android:layout_marginRight="25dp" 
      android:background="@drawable/splash_facebook_button_selector" 
      android:gravity="center" 
      android:padding="0dip" 
      android:text="@string/splash_facebook" 
      android:textColor="#FFFFFF" 
      android:textSize="8pt" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/SplashSignupLabel" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="28dp" 
      android:layout_marginRight="28dp" 
      android:layout_marginTop="20dip" 
      android:text="@string/splash_signup_label" 
      android:textColor="#e9e9e9" 
      android:textSize="6pt" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/SplashSignupButton" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginLeft="25dp" 
      android:layout_marginRight="25dp" 
      android:background="@drawable/login_button_selector" 
      android:text="@string/splash_signup" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/SplashLoginLabel" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="28dp" 
      android:layout_marginRight="28dp" 
      android:layout_marginTop="20dip" 
      android:text="@string/splash_login_label" 
      android:textColor="#e9e9e9" 
      android:textSize="6pt" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/SplashLoginButton" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginLeft="25dp" 
      android:layout_marginRight="25dp" 
      android:background="@drawable/login_button_selector" 
      android:text="@string/login" 
      android:textStyle="bold" /> 
    </LinearLayout> 

</ScrollView> 
+0

インクルードの使用を検討してください。それはもっと簡単になるだろう。 – user999717

+0

'ScrollView'を置くのはどうですか? –

+0

@Adil私は既に1つ持っています –

答えて

2

は、リソースの「レイアウト」フォルダからレイアウトをコピーし、「レイアウトランド」フォルダに貼り付けて、あなたが二番目に必要なこれらの設定を変更します。

+0

thnaks :)周りに回避策があるかどうか疑問に思っていた –

0

あなたは適切なランドスケープモードで見て、layout-landという名前の新しいレイアウトフォルダを作成し、あなたのアプリに適した要素に従って新しい位置を適用する必要があります。

関連する問題