Haris
Haris

Reputation: 14053

Android button position changes while the screen rotating

Hai all I am new in android programming.....

For my application I am using image button and it successfully installed on the device. But when I rotate the screen all the button position get changed... and I need all the button placed at centre of the screen.... And here is my code....

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/testText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#FFCC99"
        android:textSize="24dp" />

    <ImageButton
        android:id="@+id/up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="124dp"
        android:layout_marginTop="80dp"
        android:src="@drawable/up" />

    <ImageButton
        android:id="@+id/left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_below="@+id/up"
        android:layout_marginRight="200dp"
        android:layout_marginTop="150dp"

        android:src="@drawable/left" />

please help.......

    <ImageButton
        android:id="@+id/right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_below="@+id/up"
        android:layout_marginRight="50dp"
        android:layout_marginTop="150dp"
        android:src="@drawable/right" />

    <ImageButton
        android:id="@+id/down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/up"
        android:layout_alignParentRight="true"
        android:layout_marginRight="124dp"
        android:layout_marginTop="80dp"
        android:src="@drawable/down" />

</RelativeLayout>

Upvotes: 0

Views: 2031

Answers (3)

Vivek Singh
Vivek Singh

Reputation: 1241

well if u are creating your app for both potrait as well as landscape mode then you have to make two different layouts otherwise you can restrict your app to display your app only on the potrait mode by adding a screenOrientation property in your manifest file

android:name=".ListViewImagesActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"

Upvotes: 3

Eldhose M Babu
Eldhose M Babu

Reputation: 14520

Create layout xml file for both landscape and portrait mode is the good practice. You can also manipulate it through Layout changes, but its recommended to use two layout files.

Then put the landscape layout file in layout-land folder and other in layout-port folder.

For more info : Click here for more info from android developer site

Upvotes: 0

Athul Harikumar
Athul Harikumar

Reputation: 2491

change your layout to relative layout -- and you can also put a different layout for landscape and portrait refer supporting multiple screens by android developers you will understand in a better way http://developer.android.com/guide/practices/screens_support.html

Upvotes: 0

Related Questions