我想做的是如下: 我有一组Drawables(例如16),我必须以不同的方式组合(带有1,2,3或4个Drawables的图标),具体取决于商业逻辑。我的想法是用里面的ImageViews定义RelativeLayouts。不幸的是,我计划将这些Layouts作为OverlayItem(需要Drawable)来在MapView上显示它们。我认为任何布局都是Drawable,但事实并非如此。我找不到将这个RelativeLayout转换为drawable的方法。我真的没有得到主要的区别。是不是可以抽取任何VIEW? 我可以将多个Drawable组合成一个吗?我真的是2D图形的初学者,并且不知道如何解决这个问题。任何想法赞赏
ADD: 基于第一个答案的代码示例:
public class MapViewActivity extends MapActivity {
MapView mMapView;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.map_view);
mMapView = (MapView)findViewById(R.id.mapview);
mMapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mMapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.one_drawable);
//this is where exception is thrown
}
}
,文件one_drawable.xml如下所示:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/item_one"
android:top="0dip"
android:right="0dip"
android:bottom="0dip"
android:left="0dip"/>
</layer-list>
所以我看不出任何错误(我在程序中以编程方式设置了drawables)
编辑2: 好的,我不被允许这样做。我必须设置一个drawable,可以在以后交换