Android How to put a RelativeLayout aligned to bottom?
我可以在布局屏幕上方显示我实际拥有的xml和我假装的布局。 我在相对布局设置中做了一些更改,但无法解决它。
这是代码:
@布局/ gridview.xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | <?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/BackGroundColor" android:orientation="vertical" android:scaleType="center"> <View android:layout_width="match_parent" android:layout_height="2dp" android:layout_marginBottom="0dp" android:layout_marginLeft="0dip" android:layout_marginRight="0dip" android:background="@color/BlueOcean" /> <GridView android:id="@+id/grid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="4dp" android:columnWidth="100dp" android:horizontalSpacing="5dip" android:listSelector="@layout/gridview_selector" android:numColumns="3" android:padding="1dp" android:scaleType="fitCenter" android:stretchMode="columnWidth" android:verticalSpacing="4dp" /> <RelativeLayout android:id="@+id/overviewBottomBar" android:layout_width="match_parent" android:layout_height="50dp" android:layout_gravity="bottom" android:gravity="top" android:background="@layout/overviewbottombar_selector" android:textSize="14sp"> <TextView android:id="@+id/overviewScreenLeft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="39dp" android:text="Left" android:textColor="@color/holo_blue_dark" /> <View android:id="@+id/overviewBottomBarDividerLeft" android:layout_width="1dp" android:layout_height="32dp" android:layout_centerVertical="true" android:layout_marginLeft="39dp" android:layout_toRightOf="@+id/overviewScreenLeft" android:background="@color/darker_gray" /> <TextView android:id="@+id/overviewScreenCenter" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/overviewScreenLeft" android:layout_alignBottom="@+id/overviewScreenLeft" android:layout_centerHorizontal="true" android:text="Center" android:textColor="@color/holo_blue_dark" /> <View android:id="@+id/overviewBottomBarDividerRight" android:layout_width="1dp" android:layout_height="32dp" android:layout_centerVertical="true" android:layout_marginLeft="38dp" android:layout_toRightOf="@+id/overviewScreenCenter" android:background="@color/darker_gray" /> <TextView android:id="@+id/overviewScreenRight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/overviewScreenCenter" android:layout_alignBottom="@+id/overviewScreenCenter" android:layout_alignParentRight="true" android:layout_marginRight="39dp" android:text="Right" android:textColor="@color/holo_blue_dark" /> </RelativeLayout> </LinearLayout> |
它出什么问题了?
谢谢
问题不在于RelativeLayout,而是从上到下布置它的子项的LinearLayout。 我能想到的最简单的方法是在GridView和RelativeLayout之间添加一个带有layout_weight ="1"的间隔视图,如下所示:
1 2 3 4 5 6 7 8 9 10 | <GridView ... /> <!-- spacer view taking up all excess space --> <View android:id="@+id/spacer" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" /> <RelativeLayout ... /> |
将根布局设为
1 2 3 | <TextView android:id="@+id/overviewScreenLeft" android:layout_alignParentTop="true" |
这是你的问题。 你想要