#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 после полной загрузки веб-сайта