【问题标题】:Buttons with background image not next to each other?带有背景图像的按钮不相邻?
【发布时间】:2015-07-02 03:42:47
【问题描述】:

我是安卓新手。我还尝试了 fill_parent,match_parent 而不是 wrap_content。我想要在一行中有两个带有背景图像的按钮。我尝试使用 weightSum="2" 并且每个按钮都有 layout_weigh="1"。但它不起作用。请有人建议我哪里出错了。我的 XML 文件在下面

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:weightSum="2">

     <Button
         android:id="@+id/button5"
         style="?android:attr/borderlessButtonStyle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginLeft="4dp"
         android:layout_marginStart="4dp"
         android:layout_marginTop="4dp"
         android:layout_weight="1"
         android:background="@drawable/theatre"
         android:gravity="bottom|center_horizontal"
         android:paddingBottom="18dp"
         android:text="THEATRE"
         android:textColor="@color/green" />

     <Button
         android:id="@+id/butt3"
         style="?android:attr/borderlessButtonStyle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginEnd="4dp"
         android:layout_marginRight="4dp"
         android:layout_marginTop="4dp"
         android:layout_weight="1"
         android:background="@drawable/hospital_icon"
         android:gravity="bottom|center_horizontal"
         android:paddingBottom="18dp"
         android:text="HOSPITAL"
         android:textColor="@color/green" />

     <Button
         android:id="@+id/button1"
         android:layout_weight="1"
         style="?android:attr/borderlessButtonStyle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginLeft="4dp"
         android:layout_marginStart="4dp"
         android:layout_marginTop="4dp"
         android:background="@drawable/pubs"
         android:gravity="bottom|center_horizontal"
         android:paddingBottom="18dp"
         android:text="PUBS"
         android:textColor="@color/green" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        style="?android:attr/borderlessButtonStyle"
        android:layout_gravity="left|top"
        android:layout_marginTop="4dp"
        android:layout_row="1"
        android:background="@drawable/hotel"
        android:gravity="bottom|center_horizontal"
        android:paddingBottom="18dp"
        android:layout_marginStart="4dp"
        android:layout_marginLeft="4dp"
        android:text="HOTELS"
        android:textColor="@color/green" />

    <Button
        android:id="@+id/button6"
        style="?android:attr/borderlessButtonStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginTop="4dp"
        android:layout_weight="1"
        android:background="@drawable/mall"
        android:gravity="bottom|center_horizontal"
        android:paddingBottom="18dp"
        android:text="MALLS"
        android:textColor="@color/green" />

    <Button
        android:id="@+id/button4"
        style="?android:attr/borderlessButtonStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginTop="4dp"
        android:background="@drawable/monum"
        android:gravity="bottom|center_horizontal"
        android:paddingBottom="18dp"
        android:text="MONUMENTS"
        android:textColor="@color/green" />

    <Button
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center_vertical"
        android:text="EXPENSE CALCULATOR"
        android:textColor="@color/green" />
</LinearLayout>

【问题讨论】:

  • orientation = "horizo​​ntal" 见这里stackoverflow.com/questions/6116910/…
  • 嗨 Nimit 我认为您必须在 LinearLayout 中要求相同大小的按钮,对吗?
  • 在 xml 中将方向从垂直更改为水平。

标签: android


【解决方案1】:

你可以试试这个,

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="2" >

        <Button
            android:id="@+id/button5"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="4dp"
            android:layout_marginStart="4dp"
            android:layout_marginTop="4dp"
            android:layout_weight="1"
            android:background="@drawable/ic_launcher"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="18dp"
            android:text="THEATRE"
            android:textColor="@color/cream_dark" />

        <Button
            android:id="@+id/butt3"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="4dp"
            android:layout_weight="1"
            android:background="@drawable/ic_launcher"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="18dp"
            android:text="HOSPITAL"
            android:textColor="@color/cream_dark" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="2" >

        <Button
            android:id="@+id/button1"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="4dp"
            android:layout_marginStart="4dp"
            android:layout_marginTop="4dp"
            android:layout_weight="1"
            android:background="@drawable/ic_launcher"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="18dp"
            android:text="PUBS"
            android:textColor="@color/cream_dark" />

        <Button
            android:id="@+id/button2"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|top"
            android:layout_marginLeft="4dp"
            android:layout_marginStart="4dp"
            android:layout_marginTop="4dp"
            android:layout_row="1"
            android:layout_weight="1"
            android:background="@drawable/ic_launcher"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="18dp"
            android:text="HOTELS"
            android:textColor="@color/cream_dark" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="2" >

        <Button
            android:id="@+id/button6"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="4dp"
            android:layout_weight="1"
            android:background="@drawable/ic_launcher"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="18dp"
            android:text="MALLS"
            android:textColor="@color/cream_dark" />

        <Button
            android:id="@+id/button4"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="4dp"
            android:layout_weight="1"
            android:background="@drawable/ic_launcher"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="18dp"
            android:text="MONUMENTS"
            android:textColor="@color/cream_dark" />
    </LinearLayout>

    <Button
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="EXPENSE CALCULATOR"
        android:textColor="@color/cream_dark" />

</LinearLayout>

【讨论】:

  • 是的,它有效。但是按钮的大小不一样。如何使它们大小相同?
  • 你说的是哪些按钮?
【解决方案2】:

如果您想彼此相邻显示,请使用方向作为水平

android:orientation="horizontal" 

此外,当您为宽度指定权重时,您不应将 wrap_content 用于 button5button3

        android:layout_width="0dp"

您的布局中还有一些其他按钮,请为它们使用不同的布局。

【讨论】:

    【解决方案3】:

    请尝试使用 xml 复制并粘贴下面的行 - 如果您需要一行具有相同大小的按钮宽度。

      <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:orientation="vertical" 
            >
    
             <Button
                 android:id="@+id/button5"
                 style="?android:attr/borderlessButtonStyle"
                 android:layout_width="0dp"
                 android:weight="1"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="4dp"
                 android:layout_marginStart="4dp"
                 android:layout_marginTop="4dp"
                 android:layout_weight="1"
                 android:background="@drawable/theatre"
                 android:gravity="bottom|center_horizontal"
                 android:paddingBottom="18dp"
                 android:text="THEATRE"
                 android:textColor="@color/green" />
    
             <Button
                 android:id="@+id/butt3"
                 style="?android:attr/borderlessButtonStyle"
                 android:layout_width="0dp"
                 android:weight="1"
                 android:layout_height="wrap_content"
                 android:layout_marginEnd="4dp"
                 android:layout_marginRight="4dp"
                 android:layout_marginTop="4dp"
                 android:layout_weight="1"
                 android:background="@drawable/hospital_icon"
                 android:gravity="bottom|center_horizontal"
                 android:paddingBottom="18dp"
                 android:text="HOSPITAL"
                 android:textColor="@color/green" />
    
             <Button
                 android:id="@+id/button1"
                android:layout_width="0dp"
                  android:weight="1"
                 style="?android:attr/borderlessButtonStyle"
    
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="4dp"
                 android:layout_marginStart="4dp"
                 android:layout_marginTop="4dp"
                 android:background="@drawable/pubs"
                 android:gravity="bottom|center_horizontal"
                 android:paddingBottom="18dp"
                 android:text="PUBS"
                 android:textColor="@color/green" />
    
            <Button
                android:id="@+id/button2"
               android:layout_width="0dp"
                 android:weight="1"
    
                android:layout_height="wrap_content"
                style="?android:attr/borderlessButtonStyle"
                android:layout_gravity="left|top"
                android:layout_marginTop="4dp"
                android:layout_row="1"
                android:background="@drawable/hotel"
                android:gravity="bottom|center_horizontal"
                android:paddingBottom="18dp"
                android:layout_marginStart="4dp"
                android:layout_marginLeft="4dp"
                android:text="HOTELS"
                android:textColor="@color/green" />
    
            <Button
                android:id="@+id/button6"
                style="?android:attr/borderlessButtonStyle"
                 android:layout_width="0dp"
                  android:weight="1"
                android:layout_height="wrap_content"
                android:layout_marginEnd="4dp"
                android:layout_marginRight="4dp"
                android:layout_marginTop="4dp"
                android:layout_weight="1"
                android:background="@drawable/mall"
                android:gravity="bottom|center_horizontal"
                android:paddingBottom="18dp"
                android:text="MALLS"
                android:textColor="@color/green" />
    
            <Button
                android:id="@+id/button4"
                style="?android:attr/borderlessButtonStyle"
                    android:layout_width="0dp"
                android:weight="1"
                android:layout_height="wrap_content"
                android:layout_marginEnd="4dp"
                android:layout_marginRight="4dp"
                android:layout_marginTop="4dp"
                android:background="@drawable/monum"
                android:gravity="bottom|center_horizontal"
                android:paddingBottom="18dp"
                android:text="MONUMENTS"
                android:textColor="@color/green" />
    
            <Button
                android:id="@+id/button7"
               android:layout_width="0dp"
                   android:weight="1"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center_vertical"
                android:text="EXPENSE CALCULATOR"
                android:textColor="@color/green" />
        </LinearLayout>
    

    【讨论】:

      猜你喜欢
      • 2012-01-03
      • 2019-12-13
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多