android - 如何让 9-patch 图像只水平扩展?

标签 android nine-patch

我有一个九 block 图像,我想在 View 中垂直居中,只让它水平扩展。

我已经尝试在 9-patch 上放置两个可扩展区域(一个在上面,一个在下面)但是取决于屏幕的密度,如果 View 最终是偶数像素高而 9-patch 是奇数高,然后图像略微中断。

有什么想法吗?

谢谢

最佳答案

一个有效的九 block 图像必须在顶部和左侧至少有一个可扩展区域,您在右侧和下方绘制的区域用于指定填充,看看this .

如果你想让你的 9-patch 图像只水平扩展,你将不得不准备你想要的高度和宽度窄到一个像素的原始图像,并在顶部绘制一个点,在左侧绘制另一个点,请注意我们在左侧指定的可扩展区域只是为了使其成为有效的九补丁。现在你可以把图片放在一个布局中(将布局的高度设置为你的图片的高度),为图片设置 android:layout_graviy="center_vertical" ,然后你就可以水平扩展图片了。

关于android - 如何让 9-patch 图像只水平扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642709/

相关文章:

java - 创建 onItemClickListener 时出现问题

android - React Native : com. android.ide.common.process.ProcessException: 无法执行 aapt

java - 如何测试一个ListActivity?

android - DIY 九贴无法识别

android - NinePatch 后台和安卓

android - 为什么给 9-patch png 图像命名为 9 补丁

android - 尝试安装应用程序时出现 INSTALL_FAILED_DEXOPT 错误

android - 将 Cookie 从 HttpURLConnection (java.net.CookieManager) 传递到 WebView (android.webkit.CookieManager)

android - 为什么 RelativeLayout 中的九补丁图像隐藏了所有内部元素?

android-layout - 使用 9-patch 图像进行应用程序开发