因此,我尝试使用图层列表使用透明的ninepatch Drawable覆盖地图图像。像这样:
target http://f.cl.ly/items/2b1x3c3o0w3t1z0b2o2s/Screen%20Shot%202012-06-20%20at%2010.34.18%20AM.png
但是我得到的只是这个(注意,即使应该是透明的,地图图像也会被ninepatch的边缘裁剪掉):
problem http://f.cl.ly/items/380j3E2w452Y2D2d1K0a/Screen%20Shot%202012-06-20%20at%2010.29.45%20AM.png
这是我的图层列表代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<nine-patch android:src="@drawable/myninepatch" />
</item>
<item android:drawable="@drawable/detail_map"/>
</layer-list>
这是我的布局ImageView:
<ImageView
android:layout_width="298dp"
android:layout_height="106dp"
android:layout_gravity="center"
android:layout_marginBottom="11dp"
android:src="@drawable/detail_map_overlay" />
编辑:这是ninepatch .png:
ninepatch http://f.cl.ly/items/0X3N0d331Q15380D093n/myninepatch.9.png
任何想法如何实现这一目标?不一定要使用ninepatch,但我想根据图像的大小使其可拉伸。或者,如果您有一个如何进行内部发光的想法,那也会很不错。
最佳答案
重述评论并使其更清晰以供进一步阅读
您的9补丁无效:
顶部和左侧部分仅定义可拉伸区域。
底部和右侧,内容的位置。
以您的示例为例,它将执行以下操作(基于您的示例,但没有多余的部分):
然后将其设置为ImageView的背景:
<ImageView
android:layout_width="298dp"
android:layout_height="106dp"
android:layout_gravity="center"
android:layout_marginBottom="11dp"
android:src="@drawable/detail_map"
android:background="@drawable/myninepatch">
</ImageView>
这样,您可以摆脱图层列表
关于android - Android:NinePatch和LayerList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11115799/