滚动比屏幕大的图像并停在Android的边框上

Sep*_*phy 4 android scroll image

我知道如何显示比屏幕大的图像.这是相当简单和详细解释这里,但是,这种方法使你能如果你已经离开了像你不得不黑屏只要你想滚动事件.我想知道当我们到达图片的一侧时,我们如何才能使滚动停止...

Dev*_*red 5

将图像加载到WebView中.然后你将获得你正在寻找的所有滚动行为,甚至是默认的缩放控件,如果你选择打开它们......实际上是免费的.你唯一的另一个选择(据我所知)是使用2D图形API(画布等)并创建你自己的绘图图块版本(比如查看地图的一部分).

如果您的图像是本地图像,请查看从SD卡读取本地图像数据的示例.在这种情况下,提供本地映像的更简洁方法是创建ContentProvider并通过WebView中的content:// URL访问资源.

例如使用捆绑的形象car.jpgassets你的项目目录:

RES /布局/ main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <WebView
      android:id="@+id/web"
      android:layout_width="150dip"
      android:layout_height="150dip"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

SRC/ImageViewer.java

public class ImageViewer extends Activity {

  WebView webView;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    webView = (WebView)findViewById(R.id.web);
    webView.loadUrl("file:///android_asset/car.jpg");
  }
}
Run Code Online (Sandbox Code Playgroud)

对于与项目捆绑在一起的图像,这是最简单的方法.这不适用于资源目录中的图像(如res/drawable).该路径不值得完成它所需的代码.