如何制作一个垂直的按钮列表?

时间:2014-01-11 17:20:02

标签: android android-layout android-layout-weight

我正在尝试制作一个包含5个按钮的垂直列表,这些按钮均匀分布在以下格式:

(Button1)

(Button2)

(Button3)

(Button4)

(Button5)

按钮也居中。

但是我只得到一个空白的灰色屏幕。

我有以下代码:

<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="wrap_content"
    android:orientation="vertical">

<Button
    android:id="@+id/buttonstock"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1"
    android:text="@string/button_stock" 
     android:textSize="60sp"
     android:gravity="center">

 <View
        android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1"
    android:gravity="center"/>

<Button
    android:id="@+id/buttonproducts"
          android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1"
    android:text="@string/button_products"
     android:textSize="60sp"
     android:gravity="center" />

<View
  android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1" 
    android:gravity="center"/>

<Button
    android:id="@+id/buttonsupplies"
         android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1"
    android:text="@string/button_supplies"
    android:textSize="60sp"
    android:gravity="center" />

<View
       android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1" 
    android:gravity="center"/>

<Button
    android:id="@+id/buttonsuppliers"
       android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1"
    android:text="@string/button_suppliers"
     android:textSize="60sp"
     android:gravity="center" />

<View
          android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1"
    android:gravity="center" />

<Button
    android:id="@+id/buttonsettings"
        android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight = "1" 
    android:text="@string/button_settings" 
     android:textSize="60sp"
     android:gravity="center"/>

</Button>
</LinearLayout>

我还在所有按钮和视图权重属性上收到错误消息:

  

布局参数无效

但是,我不确定这是否是问题的一部分?

2 个答案:

答案 0 :(得分:2)

试试这个 -

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <Button
        android:id="@+id/buttonstock"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:text="button_stock"
        android:textSize="20sp" />

    <Button
        android:id="@+id/buttonproducts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:text="button_products"
        android:textSize="20sp" />

    <Button
        android:id="@+id/buttonsupplies"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:text="button_supplies"
        android:textSize="20sp" />

    <Button
        android:id="@+id/buttonsuppliers"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:text="button_suppliers"
        android:textSize="20sp" />

    <Button
        android:id="@+id/buttonsettings"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:text="button_settings"
        android:textSize="20sp" />

</LinearLayout>

答案 1 :(得分:1)

您还需要将LinearLayout的身高设置为match_parent。如果是wrap_content,它会看着它的孩子。它们都是0dp所以它也是0dp因此不可见。