9patch作为背景包装内容

时间:2018-01-04 09:14:34

标签: android padding nine-patch

我正在尝试让图像适合整个类似聊天的气泡,定义为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

1 个答案:

答案 0 :(得分:2)

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

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

enter image description here 我今天学到了9patch的工作原理:)。