Alvin
Alvin

Reputation: 416

layout alignment for different screens

i am trying to align the page for different screens namely 4.5inch(xperia ion) and 4inch(s advance) it works with s advance.. but in xperia ion screen it breaks..

the emulator image of both xperia ion and s advance...

i stretched the buttons to avoid mistakes.. but yet when it comes to services.. the system fails... the big buttons on top and bottom are buffer buttons.. they are meant to simply align the rest..

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/rail" >



<Button
    android:id="@+id/btnBufferTop" <-- buffer top button
    android:layout_width="wrap_content"
    android:layout_height="130dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Button" />

<Button
    android:id="@+id/btnBufferBottom"  <-- buffer bottom button
    android:layout_width="wrap_content"
    android:layout_height="60dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:text="Button" />

<Button
    android:id="@+id/button1" <-- home button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/btnBufferTop"

    android:text="Button" />

<Button
    android:id="@+id/button2" <-- About us button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/button1"
    android:text="Button" />

<Button
    android:id="@+id/button3" <-- services
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/btnBufferBottom"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:text="Button" />

<Button
    android:id="@+id/button4" <-- clients
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button3"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:text="Button" />

<Button
    android:id="@+id/button5" <-- contacts
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button4"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_marginBottom="14dp"
    android:text="Button" />

is there any other way to do it???? without buffer buttons

Upvotes: 0

Views: 126

Answers (4)

Pankaj Arora
Pankaj Arora

Reputation: 10274

its better to go with linear layout with weights.as weights device each screen in equal parts.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum= 2
android:orientation="vertical">

<Button
    android:id="@+id/btnBufferTop"
    android: layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:text="Button" />

<Button
    android:id="@+id/btnBufferBottom"
     android: layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:text="Button" />

</LinearLayout>

Upvotes: 1

Android
Android

Reputation: 9023

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:gravity="center">

      <Button
          android:id="@+id/okbutton"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:text="SET"
           />

</LinearLayout>  
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:gravity="center">

      <Button
          android:id="@+id/okbuttodn"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:text="SET"
         />
      </LinearLayout>
      <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:gravity="center">

      <Button
          android:id="@+id/okbuttdtgyodn"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:text="SET"
         />
      </LinearLayout>
      <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:gravity="center">

      <Button
          android:id="@+id/okbuttrtodn"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:text="SET"
         />
      </LinearLayout>
</LinearLayout>

Upvotes: 0

Hareshkumar Chhelana
Hareshkumar Chhelana

Reputation: 24848

// Try this way,hope this will help you to solve your problem...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <Button
        android:id="@+id/btnBufferTop"
        android:layout_width="match_parent"
        android:layout_height="130dp"
        android:text="Button" />

    <Button
        android:id="@+id/btnBufferBottom"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:text="Button" />

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="14dp"
        android:text="Button" />
</LinearLayout>

Upvotes: 1

user3668374
user3668374

Reputation: 41

If the space between the buttons are the issue, thenTry android:layout_marginTop=""

Upvotes: 0

Related Questions