【问题标题】:9patch as background wraps content9patch 作为背景包装内容
【发布时间】:2018-06-13 23:46:07
【问题描述】:

我正在尝试让图像适合定义为 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 才能使其按预期工作?

编辑:

这是九个补丁:

【问题讨论】:

  • 在你的九个补丁drawable中使用底部和右侧的“黑线”
  • 你能分享你的 9 补丁吗?
  • 我已经用它编辑了问题。
  • 无论如何,正确的标记应该向下延伸一点(到它与上角的距离大致相同)以填充气泡内容更多一点。或者它会在底部留下一个很大的空白区域。右侧和底部定义了 9 补丁的“填充”(反过来:称为“内容区域”)。

标签: android padding nine-patch


【解决方案1】:

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

我将 9patch 修改为如下所示来解决我的问题。不再需要定义填充:

我今天了解了更多 9patch 的工作原理:)。

【讨论】:

  • 很高兴知道您正在学习新东西 ;-) 但实际上为什么“填充线”这么长?你的Imageview 里面会覆盖你的气泡圆角......或者你的图像在角落是透明的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多