Abhinav's answer is right on, I'm just adding this additional info for absolute beginners like myself who encounter this answer and don't even know yet how to "enclose the WebView in a Layout" or "add the border to the Layout"; hopefully it can help someone:
- Create a new directory under
/res
and name it drawable
(you'll already have drawable-hdpi
, drawable-mdpi
, etc; these are for different resolutions--this new directory drawable
will be used regardless of resolution).
- Create a new XML file under
drawable
and name it border.xml
(in Android Studio, you can right-click on the drawable
directory and click New>Drawable Resource File).
- Paste the entire contents of miuranga's XML into
border.xml
and save it. This is called a "Drawable Resource" and will be pulled into your layout file in the next step.
- In your layout file, create a new Layout around the WebView, as I've done as shown below with the child LinearLayout. Note that the LinearLayout retrieves the drawable resource with the attribute
android:background
set to @drawable/border
. I believe it's retrieving border.xml
by its filename minus the extension. By adding the border to the Layout that encloses the WebView, you're visually achieving a border around the Webview, which works nicely.
activity_main.xml contents:
<LinearLayout 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"
tools:context="com.example.test.app.MainActivity"
android:orientation="vertical">
<LinearLayout android:background="@drawable/border"
android:layout_width="match_parent"
android:layout_height="380px">
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>