android - 9patch 作为背景包裹内容

标签 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 才能使其按预期工作?

编辑:

这是 9-patch :

9patch

最佳答案

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

我将 9patch 修改成这样来解决我的问题。不再需要定义填充:

enter image description here 我今天更多地了解了 9patch 是如何工作的:)。

关于android - 9patch 作为背景包裹内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48091992/

相关文章:

android - 如何在 quora 中的编辑文本末尾添加问号?

android - :active pseudo-class doesn't work in Chrome on Android

android - 如何在 Material 设计的 NavigationView 中添加部分

java - 仅在特定设备上的 SurfaceView 中的 ANR——唯一的解决方法是 sleep 时间短

c# - 填充空字符串时如何避免异常

Android 按钮图像变得模糊?

html - 砖石/马赛克风格图像网格 - 尺寸、间距问题

html - 仅在菜单栏上填充左文本

java - 在运行时创建 NinePatch

Android:一次不超过 1 个九补丁图像?