Android线性布局 – 如何保持在底部的元素?
我有一个TextView
,我想要在垂直排列的元素使用LinearLayout
横向活动的底部。
我已经在文本视图上设置了android:gravity="bottom"
,但它仍然只是低于LinearLayout
的最后一个元素,正是我不想要的。
有什么build议么?
将TextView从LinearLayout中取出,然后将LinearLayout和TextView放入一个RelativeLayout。 将属性android:layout_alignParentBottom="true"
到TextView。 除了上述属性之外的所有名称空间和其他属性都被省略了:
<RelativeLayout> <LinearLayout> <!-- All your other elements in here --> </LinearLayout> <TextView android:layout_alignParentBottom="true" /> </RelativeLayout>
你将不得不通过设置android:layout_weight="1"
来扩展你的一个上层视图来填充剩余的空间。 这将把你最后的观点推到最后。
以下是我的意思的简要说明:
<LinearLayout android:orientation="vertical"> <View/> <View android:layout_weight="1"/> <View/> <View android:id="@+id/bottom"/> </LinearLayout>
每个子视图的高度是"wrap_content"
,其他的都是"fill_parent"
。
我认为这将是完美的解决scheme:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- Other views --> <Space android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> <!-- Target view below --> <View android:layout_width="match_parent" android:layout_height="wrap_content"> </LinearLayout>
您应该将参数重力放在底部,而不是在文本视图中,而是在线性布局中 。 喜欢这个:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="bottom|end"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Something"/> </LinearLayout>
step 1 : create two view inside a linear layout step 2 : first view must set to android:layout_weight="1" step 3 : Second view will automatically putted downwards <LinearLayout android:id="@+id/botton_header" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <View android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> <Button android:id="@+id/btn_health_advice" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
你也可以使用
android:layout_gravity="bottom"
为你的textview
尝试这个
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:orientation="vertical" > <TextView android:id="@+id/textViewProfileName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout>