9patch 作为背景包裹内容
9patch as background wraps content
我正在尝试让图像适合定义为 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" />
但它会生成以下带有无效填充的结果:
但如果我手动将其他边的填充设置为 0,那么结果看起来是正确的:
android:paddingBottom="0dp"
android:paddingLeft="0dp"
android:paddingTop="0dp"
为什么我需要手动将填充设置为 0dp 才能使其按预期工作?
编辑:
这是九个补丁:
感谢 pskink 的评论,问题与九个补丁底部和右侧指南有关,这些指南定义了内容的位置。
我将 9patch 修改成这样来解决我的问题。无需再定义填充:
我今天更多地了解了 9patch 是如何工作的:)。
我正在尝试让图像适合定义为 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" />
但它会生成以下带有无效填充的结果:
但如果我手动将其他边的填充设置为 0,那么结果看起来是正确的:
android:paddingBottom="0dp"
android:paddingLeft="0dp"
android:paddingTop="0dp"
为什么我需要手动将填充设置为 0dp 才能使其按预期工作?
编辑:
这是九个补丁:
感谢 pskink 的评论,问题与九个补丁底部和右侧指南有关,这些指南定义了内容的位置。
我将 9patch 修改成这样来解决我的问题。无需再定义填充: