Как сделать так, чтобы кнопка печати на моем веб-сайте работала в Android Webview? - PullRequest
0 голосов
/ 16 мая 2019

У меня есть кнопка на моем сайте на модале, к которой прикреплена функция обработчика для печати модала.Этот обработчик имеет код для обработки «Print Modal only» и, наконец, запускает window.print ().Кнопка работает как брелок в браузере.Но это кажется непригодным в Android Webview.Вот весь установочный код приложения.Пожалуйста, предоставьте полный рабочий ответ, если таковой имеется, потому что я новичок в Android и Java.

//MainActivity.java//

import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
    private WebView mywebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mywebView = (WebView)findViewById(R.id.mywebView);
        WebSettings webSettings=mywebView.getSettings();
        mywebView.loadUrl("https://mywesite.com/");
        mywebView.setWebViewClient(new myWebClient());
        webSettings.setJavaScriptEnabled(true);
        mywebView.setHorizontalScrollBarEnabled(false);
    }

    public class myWebClient extends WebViewClient
    {


        @Override
        public void onPageFinished(WebView view, String url) {

            //show webview
            findViewById(R.id.mywebView).setVisibility(View.VISIBLE);
            //hide loading image
            findViewById(R.id.imageView1).setVisibility(View.GONE);
            findViewById(R.id.progressBar1).setVisibility(View.GONE);

        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            view.loadUrl(url);
            return true;

        }

    }




    @Override
    public void onBackPressed () {
        if (mywebView.canGoBack()) {
            mywebView.goBack();
        } else{
            super.onBackPressed();
        }

    }

}





////activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:orientation="vertical"
    tools:context=".MainActivity"
    tools:layout_editor_absoluteY="81dp">


    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:contentDescription="@string/logo"
        android:src="@drawable/aptsplash"
        android:visibility="visible"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />


    <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="80dp"
        android:layout_height="65dp"
        android:layout_centerInParent="true"
        android:scrollbarStyle="insideOverlay"
        android:visibility="visible"
        tools:layout_editor_absoluteX="144dp"
        tools:layout_editor_absoluteY="397dp" />

    <WebView
        android:id="@+id/mywebView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="gone"
        tools:layout_editor_absoluteX="106dp"
        tools:layout_editor_absoluteY="421dp" />


</RelativeLayout>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...