gpt4 book ai didi

android - 在 Android 上滚动比屏幕大的图像并停在其边界处

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:54 25 4
gpt4 key购买 nike

我知道如何显示比屏幕大的图像。这相当简单并有详细解释 here ,但是,如果您离开图像并且只有黑屏,则此方法使您能够滚动到您想要的位置。我想知道当我们到达图片的一侧时如何让滚动停止...

最佳答案

将图像加载到 WebView 中。然后您将获得您正在寻找的所有滚动行为,如果您选择打开它们甚至是默认的缩放控件……几乎是免费的。您唯一的其他选择(据我所知)是使用 2D 图形 API(Canvas 等)并创建您自己的绘图图 block 版本(例如查看 map 的一部分)。

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

使用项目 assets 目录中的 bundle 图像 car.jpg 的示例:

res/layout/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>

源/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");
}
}

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

关于android - 在 Android 上滚动比屏幕大的图像并停在其边界处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3447627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com