Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Android webview设置边框_Android_Android Webview - Fatal编程技术网

如何为Android webview设置边框

如何为Android webview设置边框,android,android-webview,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" /> <strok

在我的程序中,单击按钮时,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添加边框。。?
谢谢

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

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

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

  • /res
    下创建一个新目录,并将其命名为
    drawable
    (您已经有了
    drawable hdpi
    drawable mdpi
    等;这些目录用于不同的分辨率——无论分辨率如何,都将使用此新目录
    drawable
  • drawable
    下创建一个新的XML文件,并将其命名为
    border.XML
    (在Android Studio中,您可以右键单击
    drawable
    目录,然后单击new>drawable资源文件)
  • 将miuranga XML的全部内容粘贴到
    border.XML
    中并保存。这称为“可绘制资源”,将在下一步中拉入布局文件
  • 在布局文件中,围绕WebView创建一个新布局,如下所示,使用子LinearLayout。请注意,LinearLayout检索属性
    android:background
    设置为
    @drawable/border
    的可绘制资源。我相信它是通过文件名减去扩展名来检索
    border.xml
    。通过将边框添加到包含WebView的布局中,可以在视觉上实现WebView周围的边框,效果很好
  • 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>
    
    
    
    可以参考这一点吗?需要填充的具体原因是什么?可能有点晚了,但填充就像对象内部的边距,因此需要填充以防止webview与布局背景重叠感谢这对我来说非常有效。另一个需要添加的内容是:您可以在根LinearLayout(第一个)中添加一个android:padding=“5dp”,以便在屏幕边缘给边框留出一些空间。