我使用 9-patch 文件作为按钮背景,而 draw9patch 工具验证该文件,在 Android Studio 中,它使用工件和裁剪进行渲染。我不确定这是 Android Studio 中的错误还是我的 9-patch 中的错误。这是按钮的代码,如果有帮助的话。
<ImageButton
android:layout_width="fill_parent"
android:layout_height="40dp"
android:id="@+id/imageButton"
android:layout_weight="1"
android:src="@drawable/tool_panel_share_icon_default"
android:baselineAlignBottom="true"
android:background="@drawable/view_type_button_background_left_default"
android:scaleType="fitCenter"
/>
这是我的 9 补丁:
这是我认为它应该在按钮上的样子:
但这是我实际得到的(底线是深色背景上的 26% 透明度):
你可以看到左边有一条错误的黑线,而应该在右边的黑线显然被裁剪了。
更新:
这是实际的 9-patch 文件,我之前发布的是文件的屏幕截图,以便查看详细信息。
更新2:
好的,我想出了如何让它正确显示,但我仍然不明白最初失败的原因。我意识到,如果我将顶部标记放在作为 9-patch 内容一部分的黑色线旁边,它会失败;但是,如果我将它向左移动 1 个像素,它会正确呈现。
作品:
失败:
这是新的 9-patch 和成功渲染的屏幕截图:
更新 3:
我刚刚使用 draw9patch 工具重新创建了 9-patch,并且行为是相同的。