我在android:layout_weight中使用。 它是有用的工具。
但是当我使用他时,这是个问题。所有按钮均采用线性布局。 我希望按钮在它们之间的相同空间。但实际上,按钮拉伸了所有的布局。
有可能使用layout_weight来获得相等的空间,但是没有拉伸所有布局的按钮吗?
我认为可能将任何按钮放在线性布局中并使用layout_weight或者可以在边距中使用(但这并非在所有屏幕尺寸中动态分割)
<LinearLayout
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_gravity="center"
android:weightSum="5">
<Button
android:id="@+id/patient_p1_button"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/patient_p1_selector" />
<Button
android:id="@+id/patient_p2_button"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="center"
android:layout_weight="1"
android:layout_marginBottom="20dip"
android:background="@drawable/p2_selector" />
<Button
android:id="@+id/patient_p3_button"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/p3_selector" />
<Button
android:id="@+id/patient_data_main_screen_medicines_button"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/medication_selector" />
<Button
android:id="@+id/patient_p4_button"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/p4_selector" />
</LinearLayout>
我现在在按钮中使用android:layout_marginBottom,它对我有用。但我不确定这是正确的方法。
答案 0 :(得分:0)
您应该使用match_parent
作为android:layout_height
,如果您想要一些空格,那么您可以放置一些空视图(或Space
)并为它们赋予权重。如果您不希望按钮更改大小,并且您只是希望它们在屏幕中对称放置,您可以给它们android:layout_height="wrap_content"
并围绕Button
内的每个RelativeLayout
将android:layout_weight
设置为特定值。
答案 1 :(得分:0)
这段代码正是如此:
<LinearLayout
android:id="@+id/notif"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="60dp"
android:layout_marginRight="10dp"
android:background="@null"
android:orientation="horizontal"
android:gravity="right">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="right">
<Button
android:id="@+id/btn_unread"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_notify"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
android:gravity="right">
<Button
android:id="@+id/btn_notif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:background="@drawable/btn_notify"/>
</LinearLayout>
</LinearLayout>
答案 2 :(得分:0)
我找到了解决方案:
我在这样的虚构视图中使用,当我仅在虚构视图上使用layout_weight时:(在我的情况下是TextView)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:text_view_element="http://schemas.android.com/apk/res-auto"
android:id="@+id/patient_data_main_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
android:id="@+id/main_container_main_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="10dip"
android:layout_marginLeft="10dip"
android:layout_marginTop="15dip"
android:layout_marginBottom="15dip"
android:paddingLeft="1.5dip"
android:paddingTop="1.6dip"
android:paddingRight="1.5dip"
android:background="@drawable/details_main_screen_background"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/data_main_screen_details"
android:layout_gravity="center"
android:orientation="vertical"
>
<Button
android:id="@+id/data_main_screen_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/details_main_button_selector" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_weight="1" />
<Button
android:id="@+id/main_screen_tests_results_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/tests_selector" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_weight="1" />
<Button
android:id="@+id/main_screen_visits_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/visits_selector" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_weight="1" />
<Button
android:id="@+id/main_screen_med_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/med_selector" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_weight="1" />
<Button
android:id="@+id/main_screen_sens_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/sens_selector" />
<TextView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_weight="1" />
<Button
android:id="@+id/main_screen_information_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/information_selector" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>