如何为Android webview设置边框

时间:2011-08-24 09:49:35

标签: android android-webview

在我的程序中,当按钮单击时,webview将以单独的布局加载。该布局只有该Web视图。我想为此添加边框。我将以下单独的XML添加到该webview的背景中,但不起作用。

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="10dp" android:color="#000000" />
<padding android:left="2dp" android:top="2dp" android:right="2dp"android:bottom="2dp"/>
</shape>

如何在Android中为webview添加边框..? 感谢

3 个答案:

答案 0 :(得分:25)

将WebView包含在布局中,将边框添加到布局中,并在布局中保留2dp的填充。

答案 1 :(得分:4)

WebView本身不能将Drawable作为背景 - 请参阅WebView.java中的WebView.onDraw。 它只有纯色,默认或取自html内容。 解决方案是(如已经建议的那样)使WebView成为其他Widget的子项。

答案 2 :(得分:4)

Abhinav的回答是正确的,我只是为像我这样的绝对初学者添加这些额外的信息,他们遇到了这个答案,甚至不知道如何将#View;包含在WebView中在布局&#34;或者&#34;将边框添加到布局&#34 ;;希望它可以帮助某人:

  1. /res下创建一个新目录,并将其命名为drawable(您已经拥有drawable-hdpidrawable-mdpi等;这些目录适用于不同的分辨率 - 无论分辨率如何,都将使用此新目录drawable
  2. drawable下创建一个新的XML文件,并将其命名为border.xml(在Android Studio中,您可以右键单击drawable目录,然后点击新建&gt;可绘制资源文件)。 / LI>
  3. 将miuranga的XML的全部内容粘贴到border.xml并保存。这被称为&#34;可绘制资源&#34;并将在下一步中拉入您的布局文件。
  4. 在您的布局文件中,围绕WebView创建一个新的布局,如下所示,使用子LinearLayout完成。请注意,LinearLayout会检索属性android:background设置为@drawable/border的可绘制资源。我相信它通过文件名减去扩展名来检索border.xml。通过将边框添加到包含WebView的布局,您可以直观地在Webview周围实现边框,这非常有效。
  5. activity_main.xml内容:

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