Как разместить маленькое изображение в центре фона webview

#android #android-layout #webview

#Android #android-макет #webview

Вопрос:

Я пытаюсь разместить небольшое изображение в центре моего WebView, чтобы, когда webview не загружает никакого содержимого, изображение было видно. Проблема в том, что изображение занимает всю ширину и высоту webview, я перепробовал много способов разместить его в центре, но ничего из этого не сработало. И моя последняя попытка не позволяет приложению завершить работу.

Activity.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorPrimary"
        tools:context=".MainActivity"
        android:id="@ id/activity_main">
    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorPrimary"
        android:layout_gravity="center"
        android:id="@ id/AppId">
    </WebView>
</RelativeLayout>
  

MainActivity.java

     webview.setBackgroundResource(R.drawable.wbg_icon);
    webview.setBackgroundColor(0x00000000);

    RelativeLayout relativeLayout = new RelativeLayout(MainActivity.this);
    RelativeLayout.LayoutParams layoutParams= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);
    layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, 1);
    relativeLayout.addView(webview, layoutParams);
  

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

1. используйте макет рамки

2. @HussainAbbas макет рамки в порядке, но я хочу что-то, что будет скрыто, как только содержимое начнет загружаться, или есть способ сделать так, чтобы изображение оставалось под содержимым WebViews?

3. вы можете отключить его видимость

Ответ №1:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary"
    tools:context=".MainActivity"
    android:id="@ id/activity_main">
    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorPrimary"
        android:layout_gravity="center"
        android:id="@ id/AppId">
    </WebView>
    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:src="@drawable/ic_launcher"/>
</FrameLayout>
  

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

1. Изображение размещается поверх webview, как мне получить его сразу, как только WebViews начнут загружаться? потому что у меня есть пользовательский индикатор выполнения.

2. Добавьте WebViewClient в свой webview и следите за полной загрузкой вашего веб-сайта. Скройте imageview после полной загрузки веб-сайта