как реализовать масштабирование внутри скручивания страницы в Android?

Я хочу иметь возможность масштабирования с помощью этой библиотеки:

https://github.com/MysticTreeGames/android-page-curl

и для масштабирования я хочу использовать следующую библиотеку

https://github.com/sephiroth74/ImageViewZoom

ImageViewZoom предоставляет frameLayout, что означает, что я могу добавить в него просмотр страницы.

Но когда я это делаю, все, что я получаю, это пустой экран на моей странице.

вот мой макет:

<?xml version="1.0" encoding="utf-8"?>
<pl.polidea.view.ZoomView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <com.mystictreegames.pagecurl.PageCurlView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/dcgpagecurlPageCurlView1"
        android:background="@drawable/bbb1">
    </com.mystictreegames.pagecurl.PageCurlView>

    </pl.polidea.view.ZoomView>

и этот код я использую для присоединения zoomView к моему фактическому макету:

View zv = ((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE))
                .inflate(R.layout.zoomable,null,false);
        zv.setLayoutParams(new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT
        ));




        ZoomView zoom = new ZoomView(this); //current activity
        zoom.addView(zv);

Как я могу объединить эти два вместе?


person Seyed Vahid Hashemi    schedule 25.12.2013    source источник


Ответы (1)


Я знаю, что эта библиотека масштабирования очень популярна, однако ИМХО лучший способ реализовать масштабирование изображения в Android — загрузить изображения внутри веб-просмотра. Код для этого прост и прямолинеен, а платформа предоставляет все функции масштабирования.

    String html = "<html><body>Hello, World!<br/><img src='http://farm4.static.flickr.com/3531/3769416703_b76406f9de.jpg' /></body></html>";
    String mime = "text/html";
    String encoding = "utf-8";

    WebView myWebView = new WebView(mContext);
    myWebView.getSettings().setBlockNetworkImage(false);
    myWebView.getSettings().setBlockNetworkLoads(false);
    myWebView.loadDataWithBaseURL(null, html, mime, encoding, null);
person Ali    schedule 25.12.2013
comment
Спасибо, Али, я видел это, но моя проблема скручивается. Я понятия не имею, как совместить керлинг с webView! помимо того, что веб-просмотр требует памяти, не так ли? - person Seyed Vahid Hashemi; 25.12.2013
comment
Не уверен насчет проблемы с памятью, что вы могли бы сделать (хотя это и медленно), так это сделать снимок экрана вашего приложения и показать это растровое изображение по всему содержимому. Затем скройте свой контент в фоновом режиме или замените его новым контентом и выполните скручивание страницы с помощью растрового изображения (которое показывает исходное содержимое страницы). - person Ali; 02.01.2014