WebView поверх ImageView Android

#html #android-layout #android-webview #android-imageview

#HTML #android-макет #android-webview #android-просмотр изображений

Вопрос:

Я прочитал несколько сообщений о решениях о том, как отображать WebView поверх ImageView. Вот что я пробовал последним, и это все еще не работает:

  mPhotoWebView.setWebViewClient(new WebViewClient());
 mPhotoWebView.setBackgroundColor(0x00000000);
  

xml:

  <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="300dp" >

    <com.example.android.views.MyImageView
        android:id="@ id/photoImageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <WebView
        android:id="@ id/photoWebView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="none" />
  

стиль html:

 body 
{
    background:transparent;
    background-color: rgba(10,10,10,0.5);
}
  

Этот код должен выполняться на 4.2.2. Чего я пытаюсь достичь, так это того, что в webview есть код анимации, выполненный на html5, а ImageView — это фоновое изображение, поверх которого должна отображаться анимация.

Есть идеи?

Комментарии:

1. Наконец-то у меня это заработало. Смотрите ответ ниже.

Ответ №1:

Должно быть, я пропустил эту комбинацию раньше. Мое окончательное решение, которое работает, это:

Не устанавливайте цвет фона для WebView в коде.

     body 
    {
        background:transparent;
        overflow: hidden;
        background-color: rgba(10,10,10,0.5);
    }
  

xml:

 <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="300dp" >

    <com.accuweather.android.views.MyImageView
        android:id="@ id/photoImageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <WebView
        android:id="@ id/photoWebView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/transparent"
        android:layerType="software"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="none" />
  

Ключевым моментом здесь является программный layerType. Я использую фрагмент, из которого одно действие обрабатывает много, поэтому я не смог сделать это в манифесте. Поэтому я сделал это в xml.