【问题标题】:Create HTML in java with background image在java中创建带有背景图像的HTML
【发布时间】:2014-06-11 01:09:42
【问题描述】:

我创建了一个 html 字符串,我需要在其中设置背景图像。

protected void onPostExecute(HashMap<String,String> hPlaceDetails){         


                    String backgroundImage = ??????

                    String name = hPlaceDetails.get("name");
        String icon = hPlaceDetails.get("icon");
        String vicinity = hPlaceDetails.get("vicinity");
        String lat = hPlaceDetails.get("lat");
        String lng = hPlaceDetails.get("lng");
        String formatted_address = hPlaceDetails.get("formatted_address");
        String formatted_phone = hPlaceDetails.get("formatted_phone");
        String website = hPlaceDetails.get("website");
        String rating = hPlaceDetails.get("rating");
        String international_phone_number = hPlaceDetails.get("international_phone_number");
        String url = hPlaceDetails.get("url");


        String mimeType = "text/html";
        String encoding = "utf-8";

        String data =   "<html>"+                           
                        "<body background="+backgroundImage+"><img style='float:left' src="+icon+" /><h1><center>"+name+"</center></h1>" +
                        "<br style='clear:both' />" +
                        "<hr  />"+
                        "<p>Vicinity : " + vicinity + "</p>" +
                        "<p>Location : " + lat + "," + lng + "</p>" +
                        "<p>Address : " + formatted_address + "</p>" +
                        "<p>Phone : " + formatted_phone + "</p>" +
                        "<p>Website : " + website + "</p>" +
                        "<p>Rating : " + rating + "</p>" +
                        "<p>International Phone  : " + international_phone_number + "</p>" +
                        "<p>URL  : <a href='" + url + "'>" + url + "</p>" +         
                        "</body></html>";

        // Setting the data in WebView
        mWvPlaceDetails.loadDataWithBaseURL("", data, mimeType, encoding, "");          
    }

注意:我的背景图片 (background9.png) 位于 MyProject/res/drawable-xhdpi 位置。请建议我需要如何设置

<body background="+backgroundImage+">

【问题讨论】:

  • 将其设置为图像的路径。您知道图像的名称以及它在项目中的位置。这应该是微不足道的。
  • 好吧,我做到了,但它不起作用。我用\res\drawable-xhdp\background9.png

标签: java android html


【解决方案1】:

而不是使用\res\drawable-xhdp\background9.png 作为您在评论中提到的路径,您应该使用:

<body background='file:///android_res/drawable/background9.png'>

我刚刚对此进行了测试,效果很好。

【讨论】:

    【解决方案2】:

    请为 android 添加标签以澄清您的问题。

    无论如何,您需要使用 findViewById(R.id.yourActivitysParentLayout) 获取父布局的参考

    然后您需要使用 ResourceManager 设置它的背景。在我看来,您需要的方法名称是 yourparent.setBackgroungDrawable(drawable)。可从资源管理器实例中获取可绘制对象。

    如果可能的话,可以通过使用android:background="@drawable/background9" //sorry not sure if .png is needed. xhdp is not though.在xml中设置背景来避免这一切

    【讨论】:

    • 我尝试通过在 中放置 'android:background="@drawable/background9' 但仍然没有帮助。我在 中设置 HTML。所以我想我需要在中设置。
    • 我不认为 webview 可以有背景,因为它是来自 html 的背景。您需要直接在html中设置背景。这与html本身有关,与java无关。通过 java 处理 html 确实是可能的,尽管它是完全不同的事情。我认为我对此无能为力。
    猜你喜欢
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多