Как загрузить прозрачный HTML в веб-просмотр с фоном - PullRequest
0 голосов
/ 20 февраля 2012

Я загружаю HTML-страницу в веб-представление, HTML-страница имеет СЕРЫЙ цвет фона, а веб-представление имеет фоновое изображение. Когда я загружаю HTML-страницу в веб-представление, я хочу, чтобы изображение было видимым с прозрачным HTML-фоном. Как бы я сделал серый цвет прозрачным, чтобы изображение было видно.

Пожалуйста, посмотрите мой код HTML страницы ниже и помогите мне, пожалуйста

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org >
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
<title>html page</title>

<style type="text/css">
    .show
    {
        display: inline;
    }
    .hide
    {
        display: none;
    }
    body.class
    {
        background: #444;
        font-family: Helvetica, sans-serif, Verdana, Arial;
        opacity:0.4;
        color: #FFF;
        margin: 30px 30px 0px 30px;
        width: auto;
    }
    h1
    {
        font-size: 18px;
        font-weight: normal;
        margin: 25px 0px 10px 0px;
    }
    h2
    {
        font-size: 36px;
        margin: 15px 0px 10px 0px;
        font-weight: normal;
    }
    .author-pic
    {
        width: 200px;
        height: 200px;
        margin: 0px 0px 0px 0px;
    }
    p
    {
        line-height: 17px;
    }
</style>
<script language="javascript" type="text/javascript">
    $(function ()
</script>

Ответы [ 2 ]

1 голос
/ 04 января 2013

Здравствуйте, просто проверьте ниже простой код, вы получите представление о том, как вам нужно вставить значение в вашем классе для различных браузеров

 body.class {
    /* Required for IE 5, 6, 7 */
    /* ...or something to trigger hasLayout, like zoom: 1; */
    width: 100%; 

    /* Theoretically for IE 8 & 9 (more valid) */   
    /* ...but not required as filter works too */
    /* should come BEFORE filter */
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

    /* This works in IE 8 & 9 too */
    /* ... but also 5, 6, 7 */
    filter: alpha(opacity=50);

    /* Older than Firefox 0.9 */
    -moz-opacity:0.5;

    /* Safari 1.x (pre WebKit!) */
    -khtml-opacity: 0.5;

    /* Modern!
    /* Firefox 0.9+, Safari 2?, Chrome any?
    /* Opera 9+, IE 9+ */
    opacity: 0.5;
}
0 голосов
/ 20 февраля 2012

Возможно, вам нужно изменить HTML при получении, в этом примере используется JSoup (в основном потому, что он у меня в папке Downloaded-files).

public class SomeSortOfActivityNameGoesHere extends Activity {
    static final int TIMEOUT = 30000;
    WebView mView;
    AsyncTask<String, Void, String[]> mLoad;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mView = new WebView(this);
        mView.setBackgroundColor(Color.TRANSPARENT);
        LinearLayout layout = new LinearLayout(this);
        layout.addView(mView, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        layout.setBackgroundColor(Color.RED);
        setContentView(layout);
        mLoad = new AsyncTask<String, Void, String[]>() {
            @Override
            protected String[] doInBackground(String... params) {
                try {
                    Document doc = Jsoup.parse(new URL("http://www.stackoverflow.com"), TIMEOUT);
                    Element body = doc.select("body").first();
                    body.attr("style", "background-color: transparent");
                    return new String[]{doc.baseUri(), doc.outerHtml(), "text/html", null, null};
                } catch (MalformedURLException e) {
                } catch (IOException e) {
                }
                return null;
            }
            @Override
            protected void onPostExecute(String[] result) {
                if (result != null) {
                    mView.loadDataWithBaseURL(result[0], result[1], result[2], result[3], result[4]);
                    // Note: This is more or less required to be called again here.
                    mView.setBackgroundColor(Color.TRANSPARENT);
                } else {
                    // Fancy error handling goes here
                }
            }
        }.execute();
    }
}

В этом примере должна загружаться stackoverflow.comперелистайте страницу и сделайте ее полупрозрачной, чтобы красный цвет в LinearLayout, удерживающем WebView, «просвечивал».Должен работать как минимум на ICS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...