【问题标题】:Rotate drawable in OverlayItem在 OverlayItem 中旋转可绘制对象
【发布时间】:2011-07-19 17:10:21
【问题描述】:

我有一个地图视图,每个 OverlayItem 都有一个自定义项目,并且该类在这里。

 class MapObject extends OverlayItem{

 String name;
 String heading;

 Drawable marker = null;

PlaneObject(GeoPoint pt, String name, String snippet, Drawable marker){
    super(pt,name,snippet);
    this.marker = marker;
}

@Override
public Drawable getMarker(int stateBitset){
    Drawable result = marker;
    setState(result,stateBitset);
    result.setBounds(-result.getIntrinsicWidth()/2, -result.getIntrinsicHeight(), result.getIntrinsicWidth() /2, 0);
    //Want to rotate the drawable to the angle stored in the heading variable
    return(result); 
}   

}

我希望能够通过类中的标题旋转 Drawable,这样当 mapView 调用它时,它将返回旋转后的 drawable。

【问题讨论】:

  • 这是一个简单的旋转,还是您正在旋转地图并希望反向旋转位图以匹配地图的新方向。

标签: android android-mapview drawable


【解决方案1】:

看看这个(更改签名以实际返回可绘制对象!)

Rotate Bitmap to Match Bearing

【讨论】:

  • 改签名是什么意思?
  • 我只是说他的方法有一个返回类型为 void 并且他正在返回一个可绘制对象,无论如何它应该或多或少地做你想做的事
  • 效果很好,但它把它们都缩小了,图形通常是 20px 正方形,现在看起来至少是原来的一半!
  • @Lee Armstrong - 不应该那样做,我会看看,我怀疑这是这样做的中间步骤,你当然可以使用另一个矩阵运算来缩放位图,比如 matrix.postScale (缩放宽度,缩放高度);但你不应该需要
猜你喜欢
  • 1970-01-01
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
相关资源
最近更新 更多