gpt4 book ai didi

javascript - 如何在 android 中使用 webview 明智地显示 Html 内容页面?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:55 29 4
gpt4 key购买 nike

嗨,我创建了一个简单的应用程序来在 webview 中显示 html 页面,我使用 webview 并像这样显示页面加载时间。

Display first time load the data

在此之后禁用滚动并使用下一个和上一个按钮来后退和前进包含。所以我的代码在下面。

首先onCreate显示添加webview并加载html文件。

        mainWebView = (WebView) findViewById(R.id.mainWebView);
mainWebView.setVerticalScrollBarEnabled(false);
mainWebView.setHorizontalScrollBarEnabled(false);
mainWebView.getSettings().setJavaScriptEnabled(true);
mainWebView.setWebViewClient(new MyWebClient());
mainWebView.setPictureListener(new MyPictureClass());

mainWebView.loadUrl("file:///android_asset/chapter-001.html");

在使用 MyWebclient 类获取 mainwebview 的高度和宽度之后。

class MyWebClient extends WebViewClient 
{
@Override
public void onPageFinished(WebView view, String url)
{
System.err.println("Page Finish Call");
lanscapHeight = protraitHeight = findHeight = mainWebView.getHeight();
System.err.println("Find Height->"+findHeight);
System.err.println("Portait Height->"+protraitHeight);
System.err.println("Landscap Height->"+lanscapHeight);


}
}

在此之后使用 myPictureClass 获取 webView 包含的长度。

class MyPictureClass implements PictureListener
{
@Override
public void onNewPicture(WebView view, Picture picture)
{

proTraitContain = mainWebView.getContentHeight();

System.err.println("picture Class Call-->"+proTraitContain);
}
}

在此之后创建按钮 next 和 previous 以显示下一页和上一页。因此使用 SimpleOnGestureListener 来检测触摸事件。

 btnNext = (Button) findViewById(R.id.btnNext);
btnNext.setOnTouchListener(this);
btnPrev = (Button) findViewById(R.id.btnPrev);
btnPrev.setOnTouchListener(this);

覆盖触摸方法。

 @Override
public boolean onTouch(View view, MotionEvent event)
{
if (view == btnNext)
{
btnClickFlage = true;
gestureDetector.onTouchEvent(event);
} else
{
btnClickFlage = false;
gestureDetector.onTouchEvent(event);
}
return false;
}

implement the SimpleGestureListener class as Below.

class MyGesture extends SimpleOnGestureListener
{
@Override
public boolean onSingleTapUp(MotionEvent e)
{

super.onSingleTapUp(e);

System.err.println("Display Total Contain For Protrait -->"+proTraitContain);
System.err.println("Before Height-->" + findHeight);

if (btnClickFlage)
{



if (findHeight > (proTraitContain+protraitHeight))
{
if(restProtraitFlag)
{
System.err.println("If part In side Flag-->"+findHeight);
findHeight=findHeight+protraitHeight;
restProtraitFlag=false;
//findHeight=findHeight+protraitHeight;
mainWebView.scrollTo(0, findHeight);
System.err.println("If part In side Flag-->"+findHeight);
}else
{
mainWebView.loadUrl("file:///android_asset/chapter-002.html");
restProtraitFlag=true;
}
}
else
{
if(protraitFlag)
{
if(findHeight==protraitHeight)
{
findHeight = protraitHeight;
}else
{
findHeight = findHeight + protraitHeight;
}
protraitFlag=false;
}else
{
findHeight = findHeight + protraitHeight;
}
mainWebView.scrollTo(0, findHeight);
}
}
else
{
restProtraitFlag=true;
if (findHeight<=0)
{
mainWebView.loadUrl("file:///android_asset/chapter-001.html");
System.err.println("Load Previous page");

}
else
{
findHeight = findHeight - protraitHeight;
mainWebView.scrollTo(0, findHeight);
}
}
System.err.println("After Height-->" + findHeight);
}
return true;
}
}

但我无法显示当前 html 页面路径的最后一页。现在该怎么办。请提供任何解决方案。这很紧急。我正确地获取了内容宽度并使用 scrollTo 方法来显示,但我不能这样做。在最后一页之后,一些包含的其余部分无法显示。

无论如何请看到我。

提前致谢..

最佳答案

嗨, friend 们,我终于得到了问题的答案。我使用 ScrollTo 方法滚动当前页面的包含和显示下一个包含。但问题是 webView 显示所有包含根据设备。所以所有时间包含显示都高于当前页面value.so 我使用 Webview.getScale(); 方法来显示 webview 使用了多少比例。根据这个我使用这个方法并获取当前包含的 webview 并使用 Display page wise.it 终于对我有用了..

Name For Calender Outhentication De

关于javascript - 如何在 android 中使用 webview 明智地显示 Html 内容页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12017961/

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