按钮占用太多空间

时间:2014-10-26 14:24:38

标签: android layout

我仍然不知道有多少空间布局。

我有以下xml。 底部空间高度的内部LinearLayout's设置为wrap_content,因此它应该采用最大高度的高度。这是52dp。并且ImageButton设置为wrap_content,因此按钮应该在右侧垂直居中,因为它是24dp图像(在xhdpi中它具有32x32像素)。那么为什么它会在这里显示的整个高度上拉伸?:

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="2dp">

    <de.ph1b.audiobook.utils.SquareImageView
        android:id="@+id/cover"
        android:scaleType="fitXY"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:layout_gravity="bottom">

        <TextView
            android:id="@+id/title"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="52dp"
            android:paddingLeft="16dp"
            android:maxLines="2"
            android:ellipsize="end"
            android:paddingRight="16dp"
            android:gravity="center_vertical"
            android:textSize="16sp" />

        <ImageButton
            android:id="@+id/editBook"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="?android:attr/borderlessButtonStyle"
            android:layout_gravity="center_vertical"
            android:src="@drawable/ic_more_vert_grey600_24dp" />

    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

@drawable/ic_more_vert_grey600_24dp比您想象的要大或borderlessButtonStyle背景更大。

请检查尺寸。我已复制行为,ImageButton设置为wrap_content并且居中。

答案 1 :(得分:0)

更改图片按键代码

 <ImageButton
        android:id="@+id/editBook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="?android:attr/borderlessButtonStyle"
        android:scaleType="fitXY"
        android:gravity="center_vertical"
        android:src="@drawable/ic_more_vert_grey600_24dp" />