發布日期:2014 年 2 月 28 日
請參考下列提示,提升應用程式的使用者體驗。
應用程式載入時閃爍
您是否曾注意到,在應用程式載入 WebView 時,畫面會閃過黑白畫面?這可能是因為應用程式窗口背景顏色載入 (通常在主題中設定),接著 WebView 背景閃爍白色所致。這會在 WebView 載入任何內容 (包括 CSS) 之前發生。
如要移除白色閃爍畫面,請設定 WebView 的背景顏色。在顯示此顏色時,唯一的延遲時間是行動應用程式繪製 WebView 的時間。
mWebView.setBackgroundColor(Color.parseColor("#3498db"));
在 Android 上,建議您在 res/values/colors.xml
檔案中定義顏色值,如 Android 應用程式資源指南所述。如果您選擇在應用程式資源中定義的顏色,程式碼可能會如下所示:
mWebView.setBackgroundColor(getResources().getColor(R.color.my_color_name));
觸覺回饋
行動應用程式和網頁應用程式之間的一個差異,是許多網頁應用程式缺乏觸控回饋。
如要解決這個問題,請使用 :active
擬類別。
舉例來說,假設您有一個按鈕,其樣式如下:
.btn {
display: inline-block;
position: relative;
background-color: #f39c12;
padding: 14px;
border-radius: 5px;
border-bottom-style: solid;
border-width: 4px;
border-color: #DA8300;
}
按下狀態可能如下所示:
.btn:active {
background-color: #E68F05;
border-color: #CD7600;
border-width: 2px;
top: 2px;
}
這麼做可稍微調暗背景和邊框顏色,並縮小邊框大小,讓按鈕看起來像是沉入頁面中。top
屬性會調整位置,以平衡較小的邊框。
如果您使用 Sass,可以使用深色和淺色混合函式變更元素的顏色,而不需要知道確切的十六進位值。您也可以使用線上工具,例如 hexcolortool.com。
系統精選
許多使用者代理程式會在元素中加入某種形式的觸控回饋,因此不需要定義特定樣式。在 WebView 中,您可能會在元素上看到橘色,或是連結和元素周圍的橘色圓環。
如果您新增自訂觸控和聚焦回饋,可以使用下列 CSS 屬性覆寫預設值:
-webkit-tap-highlight-color: rgba(0,0,0, 0.0);
outline: none;
並設定您自己的顏色:
button {
outline: 0;
-webkit-tap-highlight-color: rgba(0,0,0, 0.0);
}
button:focus {
background-color: #E68F05;
border-color: #DA8300;
}
button:active {
background-color: #FFA91F;
border-color: #E68F05;
}
這會根據狀態變更按鈕顏色,包括預設、聚焦和啟用 (或「按下」) 狀態。
除了按鈕之外,建議您在輸入欄位和錨點標記上設定這些屬性。