Elad Benda
Elad Benda

Reputation: 36672

how to align parent bottom in android linear layout?

I have a linearlayout

and I want to create at the bottom of it a slice.

I know there are some options, but I'm a bit confused

1) android:layout_gravity:"bottom" --> this doesn't work for me for some reason.

2) android:gravity_weight="0" and give the sibling before it android:gravity_weight:"1"

3) android:height="wrap_content" and give the sibling before it android:height:"match_parent"

I know how to do this using relativeLayout, but I want to practice linearLayout

what would you suggest?

<?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:background="@color/blue_bg"
    android:orientation="vertical" >

   <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/signup_illu_why" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight=""
        android:orientation="horizontal" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/signup_skip_icon" />

</LinearLayout>

Upvotes: 12

Views: 70478

Answers (7)

gdrive my
gdrive my

Reputation: 1

Put Relative in LinearLayout and set Relative to matchparent, so you can use the layoutalignparentbottom

<?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:background="@color/blue_bg"
    android:orientation="vertical" >

   <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/signup_illu_why" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight=""
        android:orientation="horizontal" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/signup_skip_icon"
            android:layout_alignParentBottom="true" />
    </RelativeLayout>

</LinearLayout>

Upvotes: 0

sanjeeb
sanjeeb

Reputation: 87

Use:

android:gravity="bottom"

example:

<LinearLayout
  android:layout_weight="7"
  android:layout_width="0dp"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:weightSum="5">
  <TextView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="some text"
     android:layout_weight="2"
     android:gravity="bottom" />
  <TextView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="some text"
     android:layout_weight="1" />
  <TextView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="some text"android:gravity="center"
     android:layout_weight="2" />
</LinearLayout>

Upvotes: 0

Andrew
Andrew

Reputation: 38029

<LinearLayout
    android:orientation="vertical"
                              ... >

    <Space
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <SomeViewThatNeedsGoBottom
                             ... />

</LinearLayout>

Upvotes: 12

A_rmas
A_rmas

Reputation: 784

surround your linear layout with framelayout and give gravity as bottom.. its simple than you think... many layouts are used just for easier move towards design

<FrameLayout
android:layout_height="fill_parent"
android:layout_width = "fill_parent">

<LinearLayout`
android:layout_height="wrap_content"
android:layout_width = "wrap_content"
android:layout_gravity = "bottom"
android:orientation = "vertical">

<Button
android:layout_height="wrap_content"
android:layout_width = "wrap_content"
android:text = "btn"/>

</LinearLayout>

</FrameLayout>

`

Upvotes: 0

Rick Royd Aban
Rick Royd Aban

Reputation: 906

Actually, you can set the parent element's gravity to bottom

<?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:background="@color/blue_bg"
    android:orientation="vertical"
    android:gravity="bottom" >

   <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/signup_illu_why" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight=""
        android:orientation="horizontal" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/signup_skip_icon" />

</LinearLayout>

Upvotes: 20

The Ray of Hope
The Ray of Hope

Reputation: 738

try this

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

       <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:src="@drawable/ic_launcher" />
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
             android:layout_alignParentBottom="true"
            android:orientation="vertical" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />

    </LinearLayout>

    </RelativeLayout>

Upvotes: 6

Vaibhav Agarwal
Vaibhav Agarwal

Reputation: 4499

<?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:background="@android:color/black"
    android:orientation="vertical" 
    android:weightSum="1">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="0.8" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="0.2" />

</LinearLayout>

Upvotes: 2

Related Questions