我一直试图找到一种方法将我的按钮移动到xml文件的下半部分。目前他们处于上半部分。
我正在尝试按照此处找到的此解决方案,但我担心它不适用。
Put buttons at bottom of screen with LinearLayout?
我的buttons.xml是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TableLayout android:id="@+id/tableLayout1"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
<Button
android:id="@+id/block_button"
style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:layout_weight="0.09"
android:background="#ff5ac3ff"
android:drawableLeft="@drawable/ic_action"
android:gravity="center_horizontal|center_vertical"
android:text="@string/block_apps"
android:textSize="22sp" />
<Button
android:id="@+id/security_settings_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:layout_weight="0.09"
android:drawableLeft="@drawable/ic_settings"
android:gravity="center_horizontal|center_vertical"
android:text="@string/security_settings"
android:textSize="22sp"/>
<Button
android:id="@+id/blacklist_whitelist_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:drawableLeft="@drawable/ic_blacklist_red"
android:gravity="center_horizontal|center_vertical"
android:text="@string/blacklist_whitelist"
android:textSize="22sp"
android:layout_weight="0.09"/>
</LinearLayout>
答案 0 :(得分:1)
你应该尝试这样的事情。基本上,如果您使用layout_weight,则需要将高度或宽度(取决于您的方向:垂直或水平)设置为&#34; 0dp&#34;。否则,视图不会使用权重属性。试试这个xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/emptySpace"
android:layout_height="0dp"
android:layout_width="fill_parent"
android:layout_weight="3" />
<Button
android:id="@+id/block_button"
style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="right|center_vertical"
android:layout_weight="1"
android:background="#ff5ac3ff"
android:drawableLeft="@drawable/ic_action"
android:gravity="center_horizontal|center_vertical"
android:text="@string/block_apps"
android:textSize="22sp" />
<Button
android:id="@+id/security_settings_button"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:layout_weight="1"
android:drawableLeft="@drawable/ic_settings"
android:gravity="center_horizontal|center_vertical"
android:text="@string/security_settings"
android:textSize="22sp"/>
<Button
android:id="@+id/blacklist_whitelist_button"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:drawableLeft="@drawable/ic_blacklist_red"
android:gravity="center_horizontal|center_vertical"
android:text="@string/blacklist_whitelist"
android:textSize="22sp"
android:layout_weight="1"/>
</LinearLayout>
顺便说一句,我将tablelayout更改为空文本视图,但您应该可以在那里使用任何其他类型的视图。只是在那里填补空间。
此外,对于layout_weights,请注意超出屏幕大小的布局(如scrollview)。那会甩掉你的重量。布局权重最适合已知的布局尺寸。
答案 1 :(得分:1)
我建议你将整个布局划分为6个相等的LinearLayouts,然后在最后三个布局中设置按钮..
试试这段代码..
<LinearLayout android:orientation="horizontal" android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent"></LinearLayout>
<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent"></LinearLayout>
<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent"></LinearLayout>
<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent">
<Button
android:id="@+id/block_button"
style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:layout_weight="0.09"
android:background="#ff5ac3ff"
android:drawableLeft="@drawable/ic_action"
android:gravity="center_horizontal|center_vertical"
android:text="@string/block_apps"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent">
<Button
android:id="@+id/security_settings_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:layout_weight="0.09"
android:drawableLeft="@drawable/ic_settings"
android:gravity="center_horizontal|center_vertical"
android:text="@string/security_settings"
android:textSize="22sp"/>
</LinearLayout>
<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent">
<Button
android:id="@+id/blacklist_whitelist_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:drawableLeft="@drawable/ic_blacklist_red"
android:gravity="center_horizontal|center_vertical"
android:text="@string/blacklist_whitelist"
android:textSize="22sp"
android:layout_weight="0.09"/>
</LinearLayout>
</LinearLayout>
请告诉我输出是什么..
答案 2 :(得分:0)
我已对此进行了测试,它应该可以正常工作,因为我使用的是测试内容,所以您必须更改按钮属性。图像。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TableLayout android:id="@+id/tableLayout1"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="bottom"
android:orientation="vertical">
<Button
android:id="@+id/block_button"
style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff5ac3ff"
android:drawableLeft="@drawable/ic_launcher"
android:gravity="center_horizontal|center_vertical"
android:text="@string/block_apps"
android:textSize="22sp" />
<Button
android:id="@+id/security_settings_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:drawableLeft="@drawable/ic_launcher"
android:gravity="center_horizontal|center_vertical"
android:text="security settings"
android:textSize="22sp"/>
<Button
android:id="@+id/blacklist_whitelist_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff5ac3ff"
style="?android:attr/borderlessButtonStyle"
android:drawableLeft="@drawable/ic_launcher"
android:gravity="center_horizontal|center_vertical"
android:text="black white list"
android:textSize="22sp"/>
</LinearLayout>
</LinearLayout>