Android 修改HTML代码并将其显示在Web视图上?

Android 修改HTML代码并将其显示在Web视图上?,android,android-webview,jsoup,Android,Android Webview,Jsoup,我试图通过修改HTML代码来改善某个网站的外观。我想改变一些东西,比如特定文本的颜色,把图片放大一点,以及这种性质的东西 我知道如何做的事情: 1:使用Jsoup获取HTML代码 2:将代码显示到Web视图中 我想知道如何做的事情: 1:能够修改网站的外观 2:快点 为了演示,让我以这个网站为例。如果你点击这个链接,你会得到一个用户列表 stackoverflow.com/users 如何将用户名的颜色更改为深红色? 这是我目前的代码,基于我知道如何做的事情 import java.io.IO

我试图通过修改HTML代码来改善某个网站的外观。我想改变一些东西,比如特定文本的颜色,把图片放大一点,以及这种性质的东西

我知道如何做的事情:

1:使用Jsoup获取HTML代码

2:将代码显示到Web视图中

我想知道如何做的事情:

1:能够修改网站的外观

2:快点

为了演示,让我以这个网站为例。如果你点击这个链接,你会得到一个用户列表

stackoverflow.com/users

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

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

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);
          }
        }

}
import java.io.IOException;
导入org.jsoup.jsoup;
导入org.jsoup.nodes.Document;
导入android.app.Activity;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.view.Menu;
导入android.webkit.WebView;
公共类MainActivity扩展了活动{
网络视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
新建MyTask().execute();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.activity\u主菜单);
返回true;
}
私有类MyTask扩展了AsyncTask{
@凌驾
受保护字符串doInBackground(无效…参数){
文件文件;
字符串htmlcode=“”;
试一试{
doc=Jsoup.connect(“http://stackoverflow.com/users).get();
htmlcode=doc.html();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回htmlcode;
} 
@凌驾
受保护的void onPostExecute(字符串结果){
web=(WebView)findviewbyd(R.id.webView1);
loadData(结果为“text/html”,空);
}
}
}

请告诉我这是如何工作的,我感谢您的时间。这是一个来自stackoverflow服务器的动态数据。你不能改变你喜欢的任何东西的颜色。但是,如果您谈论的是任何静态html页面,那么是的,您可以做任何事情

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

您还可以在加载WebView时动态更改颜色。但仅限于静态html页面

希望你明白我的意思


请随意评论。

我认为有一种方法可以使用自定义CSS来实现。我想我可以删除网站的CSS和使用一个自定义的。我仍然不确定它是如何工作的。但一定有办法!如果你想添加自定义css,那么你必须给出正确的css路径。但在动态html页面中,有为自己的CSS文件指定的路径。如何在运行时将其动态更改为CSS?因为我认为它只能在静态html页面上使用,而不能在动态其他html页面上使用。您可以参考以下内容: