修改HTML代码并将其显示在WebView上?

时间:2013-01-29 03:04:56

标签: android android-webview jsoup

我正在尝试通过更改HTML代码来改善某个网站的外观。我想改变一些东西,如特定文字的颜色,使图片更大一点,以及这种性质的东西。

我知道该怎么做:

1:使用Jsoup

获取HTML代码

2:将代码显示到WebView

我想知道怎么做的事情:

1:能够修改网站的外观

2:快点做到

出于演示目的,让我以此网站为例。如果您点击此链接,您将获得一个用户列表。

stackoverflow.com/users

如何将用户名的颜色更改为深红色?

http://i.stack.imgur.com/uysWi.png

这是我目前基于我知道如何做的事情的代码。

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.webkit.WebView;

public class MainActivity extends Activity {
    WebView web;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new MyTask().execute();

         }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }


    private class MyTask extends AsyncTask<Void, Void, String> {

          @Override
          protected String doInBackground(Void... params) {

            Document doc;

            String htmlcode = "";

            try {
                doc = Jsoup.connect("http://stackoverflow.com/users").get();

                 htmlcode = doc.html();


            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


            return htmlcode;   
          } 


          @Override
          protected void onPostExecute(String result) {        
              web = (WebView) findViewById(R.id.webView1);
              web.loadData(result,  "text/html", null);
          }
        }

}

请告诉我这是如何运作的,感谢您的时间。

1 个答案:

答案 0 :(得分:0)

它是来自stackoverflow服务器的动态数据。你不能改变你喜欢的任何颜色。但是如果你在谈论任何静态html页面,那么你可以做任何事情。

您必须将该htmp页面打开到viewSourceMode,然后您必须找到要更改颜色并替换颜色的标记。然后你可以将它加载到android WebView中以查看更改。

您还可以在加载WebView时动态更改颜色。但只能使用静态html页面。

希望你明白我的意思。

随时发表评论。