2012-02-20 15 views
0

htmlページをWebビューに読み込んでいます.htmlページに背景色をGRAYとし、Webビューに背景画像があります。 htmlページをWebビューに読み込むと、htmlの背景が透明に見えるように画像が表示されます。どのように私は画像が見えるように透明なグレーの色を作るでしょう。透明なhtmlを背景のあるwebviewに読み込む方法

あなたはおそらく、それが受信される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> 

答えて

0

plsは以下の私のhtmlページのコードを見て、私を助けて行ってください、この例では、(JSoupを使用しています主に私がダウンロードしたファイルのフォルダにあるので)。

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ページをロードし、半透明のそれを回すと「透けて見える」するのWebViewを保持しているのLinearLayoutで赤色を許可する必要があります。少なくともICSで作業する必要があります。

+0

のために自分のクラスに値を挿入する必要があるかというアイデアを取得する単純なコードの下に確認してください – cavallo

+0

その場合は、さらに多くのHTML文書を含める必要があります。私が提供した例では、HTML文書にというタグがあり、透明なスタイルが設定されています。 – Jens

1

こんにちははちょうどあなたがplsは助けることが、どのように私は私のhtmlページを修正するだろうためのイェンスのおかげで、あなたがお勧めすることができますが、さまざまなブラウザ

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; 
} 
関連する問題