0

我正在一个带有多个列表项和相应图标的 Android 应用程序中创建一个菜单。我遇到的问题是图标由于某种原因被拉伸超出了图像大小。我之前创建过这样的菜单,没有出现这样的问题,我基本上将代码复制到了这个新项目,主要只是更改了图像名称和字符串名称。

以下是单个列表项的菜单布局中的代码:

<TextView
    android:id="@+id/listItemCardTransactions"
    style="@style/NavigationMenuItem"
    android:drawableLeft="@drawable/ic_card_transaction_menu_icon_normal"
    android:text="@string/card_transactions" />

这是 NavigationMenuItem 样式:

<style name="NavigationMenuItem">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:paddingTop">@dimen/menu_list_item_padding</item>
    <item name="android:paddingBottom">@dimen/menu_list_item_padding</item>
    <item name="android:paddingLeft">@dimen/menu_list_item_padding</item>
    <item name="android:drawablePadding">@dimen/menu_list_item_left_padding</item>
    <item name="android:gravity">center_vertical</item>
    <item name="android:clickable">true</item>
    <item name="android:background">@drawable/selector_navigation_item</item>
    <item name="android:textSize">@dimen/text_size_menu_item</item>
</style>

以下是尺寸:

<dimen name="text_size_menu_item">18sp</dimen>
<dimen name="menu_list_item_padding">6dip</dimen>
<dimen name="menu_list_item_left_padding">12dip</dimen>

这是菜单现在的样子(我知道还有其他几个问题,但这些不是我现在关心的问题)。当您拖放图像以获得完整视图时,您可以最好地看到拉伸问题: 滑出菜单问题

图标应该是什么样子(这个是灰色的,因为我不确定如何轻松地使白色在白色背景上可见):

图标

任何人都知道是什么可能导致图像像这样延伸到它的尺寸之外?

4

1 回答 1

0

我会在评论中遵循 Barry 的建议,即在每个项目中使用ImageView+TextViewLinearLayout。但是,要解决“列表项的高度较小”,您可以尝试将以下属性添加到ImageView

android:adjustViewBounds="true"

如果我没记错的话,这应该有效地确保视图边界实际上是基于图像的内容,而不是纵横比(即,它不会改变超出图像本身最大高度的高度到“缩放”)。

希望能有所帮助(也有点道理)。

于 2014-02-12T00:11:20.403 回答