How to align button to bottom of screen in Nested Linear Layouts
本问题已经有最佳答案,请猛点这里访问。
我试图将一个按钮对准屏幕底部,但它没有移动。
id =按钮1的最后一个按钮是有问题的按钮。 我希望这个按钮在屏幕底部对齐,但看起来,嵌套数组的属性的某些组合不会让它发生。
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 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.crackit.crackit.startQuiz1"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center" android:orientation="vertical"> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="40dp"/> <LinearLayout android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center_horizontal" android:weightSum="2"> <Button android:id="@+id/radio0" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> <Button android:id="@+id/radio1" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="2"> <Button android:id="@+id/radio2" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> <Button android:id="@+id/radio3" android:text="Android" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> </LinearLayout> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="60dp" android:background="#0000FF" android:onClick="NextQuestion" android:layout_gravity="bottom" android:textColor="#FFFFFF" android:text="Next" /> </LinearLayout> </LinearLayout> |
我试图将一个按钮对准屏幕底部,但它没有移动。
id =按钮1的最后一个按钮是有问题的按钮。 我希望这个按钮在屏幕底部对齐,但看起来,嵌套数组的属性的某些组合不会让它发生。
使用此代码解决您的问题
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 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:orientation="vertical"> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="40dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="50dp" android:orientation="horizontal" android:weightSum="2"> <Button android:id="@+id/radio0" android:layout_width="140dp" android:layout_height="140dp" android:layout_weight="1" /> <Button android:id="@+id/radio1" android:layout_width="140dp" android:layout_height="140dp" android:layout_weight="1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="2"> <Button android:id="@+id/radio2" android:layout_width="140dp" android:layout_height="140dp" android:layout_weight="1" /> <Button android:id="@+id/radio3" android:layout_width="140dp" android:layout_height="140dp" android:layout_weight="1" android:text="Android" /> </LinearLayout> </LinearLayout> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="60dp" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_gravity="bottom" android:background="#0000FF" android:onClick="NextQuestion" android:text="Next" android:textColor="#FFFFFF" /> </RelativeLayout> |
您可以使用RelativeLayout,然后将Button与其对齐。 以下是您案例的示例。
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 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" tools:context="com.crackit.crackit.startQuiz1"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center" android:orientation="vertical"> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="40dp"/> <LinearLayout android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center_horizontal" android:weightSum="2"> <Button android:id="@+id/radio0" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> <Button android:id="@+id/radio1" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="2"> <Button android:id="@+id/radio2" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> <Button android:id="@+id/radio3" android:text="Android" android:layout_weight="1" android:layout_height="140dp" android:layout_width="140dp" /> </LinearLayout> </LinearLayout> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="60dp" android:background="#0000FF" android:onClick="NextQuestion" android:layout_alignParentBottom="true" android:layout_gravity="bottom" android:textColor="#FFFFFF" android:text="Next" /> </RelativeLayout> |
如果希望按钮向右对齐,请将其宽度属性更改为
1 | android:layout_width="wrap_content" |
然后在第二个线性布局中添加一个属性"gravity":就像这样 -
1 2 3 4 5 6 | <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="right" android:layout_gravity="center" android:orientation="vertical"> |
如果必须使用线性布局,请在按钮前包含另一个空线性布局,权重为1以消耗剩余空间。 (这样按钮就在底部)像这样 -
1 2 3 4 | <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> |