LinearLayout: layout_gravity="bottom" not working on Horizontal LinearLayout
android
Solution
The Correct Answer
All the other answers are wrong. The important points:
- You don't need `RelativeLayout`. You can do this with just a `LinearLayout`.
- (Not critical but I guess you didn't know) Your weights don't need to sum to 1, you can just set them all to any equal value (e.g. 1).
- The critical thing is you need `android:baselineAligned="false"`. I actually only found this by looking through the `LinearLayout` source. It is in the docs but they don't mention that it is on by default!
Anyway, here is the code:
<?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="wrap_content"
android:baselineAligned="false">
<TextView
android:text="dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eeffee"
android:layout_gravity="bottom"/>
<TextView
android:text="asd asd asd asd asd asd asd asd asd asd"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eeeeff"
android:layout_gravity="bottom"/>
<TextView
android:text="qweoiu qweoiuqwe oiqwe qwoeiu qweoiu qweoiuq weoiuqw eoiquw eoiqwue oqiweu qowieu qowieu qoiweu qowieu qowieu qowieu qowieu qoiweu qowieu qoiwue "
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffeeee"
android:layout_gravity="bottom"/>
</LinearLayout>
And how it looks:
Problem
Ok, First of all, I searched all the internet, but nobody has a similar problem like this. So, all I want is to have 3 textViews, bottom aligned with the screen and with the same width. Here is an image representing what I want: And here is my code: ``` <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true"> <TextView android:text="@string/help_1" android:layout_weight="0.33" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/mynicebg1" android:layout_gravity="bottom"/> <TextView android:text="@string/help_2" android:layout_weight="0.33" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/mynicebg2" android:layout_gravity="bottom"/> <TextView android:text="@string/help_3" android:layout_weight="0.33" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/mynicebg3" android:layout_gravity="bottom"/> </LinearLayout> </RelativeLayout> ``` Well, it works when the 3 textViews have the same height, but when their size differ, I get the following result: Another strange behavior, is that when I set the layout_gravity of the biggest text to "center-vertical", I get the following result: So obviously, I went crazy and tried another combinations with center-vertical, but nothing worked as I wanted initially: So, any tips on how to solve this?