#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.