带有叠加层的Android可缩放/可滚动ImageView

Seb*_*jas 17 android android-layout android-webview android-imageview

我想显示图像(包括滚动和缩放功能).另外,我需要动态地为图像添加一些叠加层.叠加层与图像中的内容有关系.

  • 如果用户滚动,叠加层也应该移动
  • 如果用户缩放,则不应缩放叠加层,而应保持其与图像的相对位置

换句话说:我想用一些标记来实现Map,但我提供了自己的地图材质.

我的主要问题是:我怎么能这样做?

到目前为止我尝试过的

  • 我尝试在WebView中实现它,因为它提供了基本的缩放和缩放功能.但是,我没有成功添加叠加而不使用Javascript和HTML(我认为这不是解决问题的一种非常方便的方法)
  • 有些项目(即TouchImageView)正在实现滚动/缩放功能,但是从我的角度来看,它们更难以添加自己的叠加功能.

问题

我的问题有一个简单的解决方案或方法吗?

在Android中运行时添加和移动视图的正确方法是什么?(通常,我会使用基本布局并使用保证金 - 这是最佳做法吗?)

请有人指出我正确的方向.

闵.API等级:10

Seb*_*jas 1

很长一段时间后,我找到了我的解决方案的确切答案:TileView

设置地图视图:

@Override
protected void onCreate( Bundle savedInstanceState ) {
  super.onCreate( savedInstanceState );
  TileView tileView = new TileView( this );
  tileView.setSize( 2000, 3000 );  // the original size of the untiled image
  tileView.addDetailLevel( 1f, "tile-%d-%d.png");
  setContentView( tileView );
}
Run Code Online (Sandbox Code Playgroud)

添加标记:

tileView.addMarker( someView, 250, 500, -0.5f, -1.0f ); 
Run Code Online (Sandbox Code Playgroud)

文档中的代码。