只进行水平缩放的9patch图像

4
我该如何创建仅在水平方向上缩放而不在垂直方向上缩放的9Patch图像?我无法创建这样的9PNG。
我尝试了http://radleymarx.com/blog/simple-guide-to-9-patch/ 的文章,但他们的方法不起作用。当我跳过左边的引导时,在Eclipse中会出现错误。
我正在尝试水平缩放image以创建标题栏。
3个回答

4

你可以将垂直缩放标记为图像的某个部分,该部分应该是透明的。可能只在顶部和底部边缘附近。只有这些部分会垂直缩放,其他垂直部分则保持不变。


实际上,我根本不想垂直缩放图像。这个功能不支持吗? - Codevalley
不支持省略左侧标记。如果您可以发布一个示例图像并解释您希望如何扩展/缩放,那将是很好的。 - Kumar Bibek
您需要稍微修改一下图片,在图片的顶部和底部添加一些填充,并将这些区域设置为可扩展。据我所知,您需要在创建9 patch时指定垂直可扩展部分。我假设承载此图像的视图几乎与图像大小相同。这样就可以解决其余问题了。 - Kumar Bibek

1

如果我没错的话,即使是“repeat”,图像也会沿两个方向平铺。不是吗? - Codevalley
你是对的。你可以将布局设置为与图像大小相匹配的高度。这样可以防止任何垂直重复; - danh32

0
即使这个问题几年前已经有了答案,我还是为自己找到了另一个解决方案。我尝试在一个垂直的LinearLayout中放置一些Textview,它们的宽度都相同,但高度不同(取决于它们的内容)。
我的解决方案:
android:paddingLeft="60dp"
android:paddingRight="60dp"

如果您想让您的 Textviews 更加纤细,那么请添加更高的 padding 值。

在 LinearLayout 中:     android:paddingLeft="60dp"     android:paddingRight="60dp"

并设置其子项(即 textviews):

  • 9patch 文件作为背景

  • android:layout_width="match_parent"

  • android:layout_height="wrap_content"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接