9patch作为背景包装内容

问题描述 投票:1回答:1

我试图让图像适合整个类似聊天的气泡,定义为9patch。所以我定义了我的imageView

<ImageView
    android:id="@+id/img_content"
    android:layout_width="270dp"
    android:layout_height="200dp"
    android:adjustViewBounds="true"
    android:background="@drawable/bubble_right"
    android:cropToPadding="true"
    android:paddingRight="11dp"
    android:scaleType="centerCrop"
    android:src="@drawable/orange_fruit" />

但它使用无效填充生成以下结果:

bad padding

但是如果我手动将其他边填充设置为0,那么结果看起来是正确的:

android:paddingBottom="0dp"
android:paddingLeft="0dp"
android:paddingTop="0dp"

expected result

为什么我需要手动将填充设置为0dp以使其按预期工作?

编辑:

这是九个补丁:

9patch

android padding nine-patch
1个回答
2
投票

感谢pskink评论,问题与九个补丁底部和右侧指南有关,它们定义了内容的去向。

我修改了9patch看起来像这样来解决我的问题。无需再定义填充:

enter image description here我今天学到了更多关于9patch如何工作的信息:)。

© www.soinside.com 2019 - 2024. All rights reserved.