1. 程式人生 > >Android仿UC瀏覽器切換網頁背景色

Android仿UC瀏覽器切換網頁背景色

平時會喜歡看下Android開發技術週報裡邊的文章學習下,這個網頁做的不錯,每週更新不少乾貨上去,很值得一看。因為每次都需要用瀏覽器去看,對我個人喜歡坐車看書的人來說,體驗不算好。於是,自己鼓搗了個app,主要就是將這個網站的資源整合,然後重新排版了。已經上了豌豆莢,歡迎大家點選下載下載地址

考慮到有些人喜歡熄燈後躺在床上繼續學習(額,其實這個習慣不好。。。),所以在app中增加了一個夜間模式。由於文章都是通過webview載入的,所以這就需要對webview載入的網頁切換背景色。這篇文章就記錄網頁切換背景色的實現方法

步驟

1 正常呼叫webView.loadUrl(url);
2 監聽網頁載入進度

webView.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {
                if (progress == 100) {
                    rlvWeb.refreshComplete();
                    if (isNightMode) {
                        String refreshUrl = "javascript:(function(){if(!document.getElementById('eyeshield_color_css')){var head = document.getElementsByTagName('HEAD').item(0);var style = document.createElement('style');style.id = 'eyeshield_color_css';style.type = 'text/css';style.innerText = \"*{background-color:#f0e68c !important;}\";head.appendChild(style);};})();"
; webView.loadUrl("javascript:" + refreshUrl); } } } });

3 當載入完成時,呼叫本地寫的JS程式碼,webView.loadUrl(“javascript:” + refreshUrl);

JS程式碼分析

function(){
        // 判斷當前是否含有eyeshield_color_css為id的節點
    if(!document.getElementById('eyeshield_color_css'
)){ // 找到head元素,往head增加一個style的子節點 var head = document.getElementsByTagName('HEAD').item(0); var style = document.createElement('style'); // 將增加的style子節點的id設定為eyeshield_color_css,設定該id主要是為了方便查詢,用於更換背景色或者去除背景色 style.id = 'eyeshield_color_css'; style.type = 'text/css'; // 這段程式碼主要是讓網頁強制的使用background-color設定的顏色作為背景色 style.innerText = "*{background-color:#f0e68c !important;}"; head.appendChild(style); }; }();

更多

UC瀏覽器裡邊提供了幾種網頁背景色讓使用者選擇,其實,這裡提供的方法也是可以實現的。就是通過記錄使用者的選擇,動態改變style.innerText = "*{background-color:#f0e68c !important;}";裡邊background-color的顏色值就可以了。

相關推薦

Android仿UC瀏覽器切換網頁景色

平時會喜歡看下Android開發技術週報裡邊的文章學習下,這個網頁做的不錯,每週更新不少乾貨上去,很值得一看。因為每次都需要用瀏覽器去看,對我個人喜歡坐車看書的人來說,體驗不算好。於是,自己鼓搗了

Android 仿UC瀏覽器三點載入效果

1. import android.app.Activity; import android.content.Context; import android.content.res.Resources; import android.content.res.T

Android自帶瀏覽器開啟網頁

在Android中可以呼叫自帶的瀏覽器,或者指定一個瀏覽器來開啟一個連結。只需要傳入一個uri,可以是連結地址。 啟動android預設瀏覽器 在Android程式中我們可以通過傳送隱式Intent來啟動系統預設的瀏覽器。如果手機本身安裝了多個瀏覽器而又沒有設定預設瀏覽器的話,系統將讓使用者

android 中TextView設定部分文字景色和文字顏色

通過SpannableStringBuilder來實現,它就像html裡邊的元素改變指定文字的文字顏色或背景色 public class MainActivity extends Activity

Android Activity全屏和設定景色

我們都知道在Android中某些功能的實現往往有兩種方法:一種是在xml檔案中設定相應屬性,另一種是用程式碼實現。同樣Android實現全屏顯示也可以通過這兩種方法實現: 1、在AndroidManifest.xml的配置檔案裡面的<activity>標籤新

仿UC瀏覽器圖片載入進度條

#define RGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0] #define grayColor RGBColor(138, 138, 138) #import "Y

android圓角矩形有邊框無景色

我們經常要用到圓角矩形,這也是現在的流行的樣式..但是今天在工作中,遇到要寫圓角矩形有邊框但無背景色的button,本來想讓妹子幫忙切圖的,但是不想麻煩妹子,自己撐著,說可以做,結果弄了老半天菜搞定的

仿UC瀏覽器指導歡迎頁面(NineOldAndroid實現)

前幾天研究了下小米的解除安裝動畫(上一篇部落格),但是太醜了。今天升級了UC到10.4.2覺得指導頁面還是很文藝的,用上次自己的介面大概實現了下(真心比小米的好模仿啊) 先上幾張效果圖 為了能更好的理解,我把每個動畫都拆分了出來

Android Shape Drawable Resources TextView漸變 景色 圓角

正文 本文主要介紹Drawable Resources的一種,Shape Drawable Resources的使用。其他Drawable類似 經常需要自己設定某個view的背景,比如類似新浪微部落格戶端微博源內容的灰底圓角效果,這個時候我們就可以使用Shape。

android仿微信紅包動畫、Kotlin綜合應用、Xposed模塊、炫酷下拉視覺、UC瀏覽器滑動動畫等源碼

架構分析 body oot googl short html 博文 urn 管理 Android精選源碼 仿微信打開紅包旋轉動畫 使用Kotlin編寫的Android應用,內容你想象不到 Android手機上的免Root Android系統日誌Viewer 一個能讓微

填坑總結:通過selector的android:state_checkable和android:state_checked設定RadioButton的景色切換遇到的問題

 目的(需求):     想通過selector的android:state_checkable和android:state_checked不可選按鈕為灰,可選沒選中為白,    可選已選中為紅的效果。 layout的xml程式

Android 按壓狀態改變景色

stat oid select col cto drawable XML min mine Android 按壓狀態改變背景色 <selector xmlns:android="http://schemas.android.com/apk/res/android"&g

關於chrome瀏覽器的帳號密碼和景色的填充問題

瀏覽器中 一次 -c rip tof 密碼 orm 有關 col 不知道大家平時做項目的時候有木有關註這個問題,其實之前做項目遇到過類似的問題,但是因為是單獨的chrome瀏覽器的填充,而且是樣式問題稍微嚴重點,也就沒在意。然而在近期的項目中有遇到了這個問題,

CSS設置DIV景色漸變顯示--針對不同瀏覽器,背景漸變的兼容問問題

fff 兼容 火狐 kit 瀏覽器 bsp 谷歌 safari 背景色漸變 針對不同瀏覽器,背景漸變的兼容問問題! background: -ms-linear-gradient(top, #fff, #0000ff); /* IE 10 */ backgr

android 中通過不同的條件,改變listview中字型顏色及景色

結果圖: 通過介面卡進行操作: public class SystemAdapter extends BaseAdapter { private ArrayList<SjClass> sData; private Context sContext;

Android 根據從伺服器中獲取的rgb值實現動態改變圓角加框的Imageview 的景色

先上圖,效果圖如上。 本來考慮用facebook的SimpleDraweeView 來實現圓角加框的,但並非所有的圖片分支部分都可以實現圓角,目前只有佔位圖片和實際圖片可以實現圓角。 後來使用自定義的的控制元件RoundImageView來實現圓角加框,那麼問題來了。

Chrome瀏覽器,處理input自動填充時帶黃色景色

/*Chrome瀏覽器開啟網頁,input自動賦值時,會帶上屎黃色的背景色,下面是通過延長增加自動填充背景色的方式, 讓使用者感受不到樣式的變化*/ input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:

181213 - 解決Android的應用APP景色突然被改變的問題

在魅族最新的特定版本出現APP背景突然被改變顏色的問題 出問題的機型相關資訊 型號:魅族16th Plus Android 版本: 8.1.0 安全補丁 版本: 2018年10月1日 Flyme 版本: 7.1.3.3A 問題詳情描述 APP整體背景 = #FFFF

Android 仿微信介面 使用RadioGroup+ViewPager實現底部按鈕切換以及滑動

先來效果圖哈哈 ![在這裡插入圖片描述](https://img-blog.csdn.net/2018100916182717?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjMwNjcwN

Android WebView的使用及呼叫第三方瀏覽器開啟網頁

1.編寫佈局   <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app