ehsan shirzadi
ehsan shirzadi

Reputation: 4859

any way to have a 2 buttons beside each others that fills the width without having multiple xml files?

I want to know if this is possible to have to buttons beside each others which fills the with in any screen size but without designing multiple xml layouts.
Is it possible? I've found this information and I tried that, but not working for my purpose: Android: Align LinearLayout center for all screen sizes

This is my layout:

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:layout_weight="1"
            android:id="@+id/btnPersonalInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="#FFC40D"
            android:drawableTop="@drawable/person"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/personal_info"
            android:textColor="@color/button_text" />

        <Button
            android:layout_weight="1"
            android:id="@+id/btnLawyerInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="#EE1111"
            android:drawableTop="@drawable/lawyer"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/lawyer_info"
            android:textColor="@color/button_text" />

        <Button
            android:id="@+id/btnSharesInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="#2976DE"
            android:drawableTop="@drawable/shares"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/buy_sell"
            android:textColor="@color/button_text" />

        <Button
            android:id="@+id/btnFinancialInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_marginLeft="10dp"
            android:background="#902293"
            android:drawableTop="@drawable/wallet"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/financial_info"
            android:textColor="@color/button_text" />

        <Button
            android:id="@+id/btnNews"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="#0D9A0E"
            android:drawableTop="@drawable/news"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/news"
            android:textColor="@color/button_text" />

        <Button
            android:id="@+id/btnMessages"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_marginLeft="10dp"
            android:background="#CA5A35"
            android:drawableTop="@drawable/messages"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/messages"
            android:textColor="@color/button_text" />

        <Button
            android:id="@+id/btnSync"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@color/pink"
            android:drawableTop="@drawable/sync"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/update"
            android:textColor="@color/button_text" />

        <Button
            android:id="@+id/btnExit"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_marginLeft="10dp"
            android:background="#AF274D"
            android:drawableTop="@drawable/quit"
            android:onClick="clickHandler"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:text="@string/exit"
            android:textColor="@color/button_text" />

        </LinearLayout>

</ScrollView>

in my 2 first buttons I set android:layout_weight="1" but nothing happs.

Upvotes: 0

Views: 64

Answers (2)

Tom Tsagkatos
Tom Tsagkatos

Reputation: 1494

when you set the button's weight to a number, either it's width or height should be at 0dp

<Button
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="1" />

this button will only stretch up and down because it's height is 0dp

Upvotes: 1

LL520
LL520

Reputation: 159

Use android:layout_weight property, like this:

<Button
    android:layout_weight="1"
    ... />

Upvotes: 1

Related Questions