較全的WebSettings說明
- etAllowContentAccess (boolean allow)
- 是否允許在WebView中訪問內容URL(Content Url),默認允許。內容Url訪問允許WebView從安裝在系統中的內容提供者載入內容。
- setAllowFileAccess (boolean allow)
- 是否允許訪問文件,默認允許。注意,這里只是允許或禁止對文件系統的訪問,Assets 和 resources 文件使用file:///android_asset和file:///android_res仍是可訪問的。
- setAllowFileAccessFromFileURLs (boolean flag)
- 是否允許運行在一個URL環境(the context of a file scheme URL)中的JavaScript訪問來自其他URL環境的內容,為了保證安全,應該不允許。也請注意,這項設置只影響對file schema 資源的JavaScript訪問,其他形式的訪問,例如來自圖片HTML單元的訪問不受影響。為了防止相同的域策略(same domain policy)對ICE_CREAM_SANDWICH以及更老機型的侵害,應該顯式地設置此值為false。
- setAllowUniversalAccessFromFileURLs (boolean flag)
- 是否允許運行在一個file schema URL環境下的JavaScript訪問來自其他任何來源的內容,包括其他file schema URLs. 參見setAllowFileAccessFromFileURLs(boolean),為了確保安全,應該設置為不允許,注意這項設置只影響對file schema 資源的JavaScript訪問,其他形式的訪問,例如來自圖片HTML單元的訪問不受影響。為了防止相同的域策略(same domain policy)對ICE_CREAM_SANDWICH以及更老機型的侵害,應該顯式地設置此值為false。ICE_CREAM_SANDWICH_MR1 以及更老的版本此默認值為true,JELLY_BEAN以及更新版本此默認值為false
- setAppCacheEnabled (boolean flag)
- 應用緩存API是否可用,默認值false, 結合setAppCachePath(String)使用。
- setAppCachePath(String)
- 設置應用緩存文件的路徑。為了讓應用緩存API可用,此方法必須傳入一個應用可寫的路徑。該方法只會執行一次,重復調用會被忽略。
- setAppCacheMaxSize (long appCacheMaxSize)
- 已廢棄。設置應用緩存內容的最大值。所傳值會被近似為數據庫支持的最近似值,因此這是一個指示值,而不是一個固定值。所傳值若小于數據庫大小不會讓數據庫調整大小。默認值是MAX_VALUE,建議將默認值設置為最大值。
- setBlockNetworkImage (boolean flag)
- 是否禁止從網絡(通過http和https URI schemes訪問的資源)下載圖片資源,默認值為false。注意,除非getLoadsImagesAutomatically()返回true,否則該方法無效。還請注意,即使此項設置為false,使用setBlockNetworkLoads(boolean)禁止所有網絡加載也會阻止網絡圖片的加載。當此項設置的值從true變為false,WebView當前顯示的內容所引用的網絡圖片資源會自動獲取。
- setBlockNetworkLoads (boolean flag)
- 是否禁止從網絡下載數據,如果app有INTERNET權限,默認值為false,否則默認為true。使用setBlockNetworkImage(boolean) 只會禁止圖片資源的加載。注意此值由true變為false,當前WebView展示的內容所引用的網絡資源不會自動加載,直到調用了重載。如果APP沒有INTERNET權限,設置此值為false會拋出SecurityException。
- setBuiltInZoomControls (boolean enabled)
- 是否使用內置的縮放機制。內置的縮放機制包括屏幕上的縮放控件(浮于WebView內容之上)和縮放手勢的運用。通過setDisplayZoomControls(boolean)可以控制是否顯示這些控件,默認值為false。
- setCacheMode (int mode)
- 重寫使用緩存的方式,默認值LOAD_DEFAULT。緩存的使用方式基于導航類型,正常的頁面加載,檢測緩存,需要時緩存內容復現。導航返回時,內容不會復現,只有內容會從緩存盤中恢復。該方法允許客戶端通過指定LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or LOAD_CACHE_ONLY的其中一項來重寫其行為。
- setCursiveFontFamily (String font)
- 設置WebView字體庫字體,默認“cursive”
- setDatabaseEnabled (boolean flag)
- 數據庫存儲API是否可用,默認值false。如何正確設置數據存儲API參見setDatabasePath(String)。該設置對同一進程中的所有WebView實例均有效。注意,只能在當前進程的任意WebView加載頁面之前修改此項,因為此節點之后WebView的實現類可能會忽略該項設置的改變。
- setDatabasePath (String databasePath)
- 已廢棄,數據庫路徑由實現(implementation)管理,調用此方法無效。
- 設置數據庫的存儲路徑,為了保證數據庫正確運行,該方法必須使用一個應用可寫的路徑。此方法只能執行一次,重復調用會被忽略。
- setDefaultFixedFontSize (int size)
- 設置默認固定的字體大小,默認為16,可取值1到72
- setDefaultFontSize (int size)
- 設置默認的字體大小,默認16,可取值1到72
- setDefaultTextEncodingName (String encoding)
- 設置默認的字符編碼集,默認”UTF-8”.
- setDefaultZoom (WebSettings.ZoomDensity zoom)
- 已廢棄。設置默認的縮放密度,必須在UI線程調用,默認值MEDIUM.該項設置在新應用中不推薦使用。如果WebView用于展示手機頁面,可以通過調整頁面的’meta viewport’ 標記中的’width’ 和 ‘initial-scale’屬性實現預期效果,對于漏用標記的頁面,可以使用setInitialScale(int)和setUseWideViewPort(boolean) .
- setDisplayZoomControls (boolean enabled)
- 使用內置的縮放機制時是否展示縮放控件,默認值true。參見setBuiltInZoomControls(boolean).
- setDomStorageEnabled (boolean flag)
- DOM存儲API是否可用,默認false。
- setEnableSmoothTransition (boolean enable)
- 已廢棄,將來會成為空操作(no-op),設置當panning或者縮放或者持有當前WebView的window沒有焦點時是否允許其光滑過渡,若為true,WebView會選擇一個性能最大化的解決方案。例如過渡時WebView的內容可能不更新。若為false,WebView會保持精度(fidelity),默認值false。
- setFantasyFontFamily (String font)
- 設置fantasy字體集(font family)的名字默認為“fantasy”
- setFixedFontFamily (String font)
- 設置固定的字體集的名字,默認為”monospace”。
- setGeolocationDatabasePath (String databasePath)
- 定位數據庫的保存路徑,為了確保定位權限和緩存位置的持久化,該方法應該傳入一個應用可寫的路徑。
- setGeolocationEnabled (boolean flag)
- 定位是否可用,默認為true。請注意,為了確保定位API在WebView的頁面中可用,必須遵守如下約定:
- (1) app必須有定位的權限,參見ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION;
- (2) app必須提供onGeolocationPermissionsShowPrompt(String, GeolocationPermissions.Callback)回調方法的實現,在頁面通過JavaScript定位API請求定位時接收通知。
- 作為可選項,可以在數據庫中存儲歷史位置和Web初始權限,參見setGeolocationDatabasePath(String).
- setJavaScriptCanOpenWindowsAutomatically (boolean flag)
- 讓JavaScript自動打開窗口,默認false。適用于JavaScript方法window.open()。
- setJavaScriptEnabled (boolean flag)
- 設置WebView是否允許執行JavaScript腳本,默認false,不允許。
- setLayoutAlgorithm (WebSettings.LayoutAlgorithm l)
- 設置布局,會引起WebView的重新布局(relayout),默認值NARROW_COLUMNS
- setLightTouchEnabled (boolean enabled)
- 已廢棄。從 JELLY_BEAN 開始,該設置無效。允許使用輕觸摸做出選擇和光標懸停。
- setLoadWithOverviewMode (boolean overview)
- 是否允許WebView度超出以概覽的方式載入頁面,默認false。即縮小內容以適應屏幕寬度。該項設置在內容寬度超出WebView控件的寬度時生效,例如當getUseWideViewPort() 返回true時。
- setLoadsImagesAutomatically (boolean flag)
- WebView是否下載圖片資源,默認為true。注意,該方法控制所有圖片的下載,包括使用URI嵌入的圖片(使用setBlockNetworkImage(boolean) 只控制使用網絡URI的圖片的下載)。如果該設置項的值由false變為true,WebView展示的內容所引用的所有的圖片資源將自動下載。
- setMediaPlaybackRequiresUserGesture (boolean require)
- WebView是否需要用戶的手勢進行媒體播放,默認值為true。
- setMinimumFontSize (int size)
- 設置最小的字號,默認為8
- setMinimumLogicalFontSize (int size)
- 設置最小的本地字號,默認為8。
- setMixedContentMode (int mode)
- 當一個安全的來源(origin)試圖從一個不安全的來源加載資源時配置WebView的行為。默認情況下,KITKAT及更低版本默認值為MIXED_CONTENT_ALWAYS_ALLOW,LOLLIPOP版本默認值MIXED_CONTENT_NEVER_ALLOW,WebView首選的最安全的操作模式為MIXED_CONTENT_NEVER_ALLOW ,不鼓勵使用MIXED_CONTENT_ALWAYS_ALLOW。
- setNeedInitialFocus (boolean flag)
- 調用requestFocus(int, android.graphics.Rect)時是否需要設置節點獲取焦點,默認值為true。
- setOffscreenPreRaster (boolean enabled)
- 當WebView切換到后臺但仍然與窗口關聯時是否raster tiles,打開它可以避免在WebView從后臺切換到前臺時重新繪制,默認值false。在這種模式下后臺的WebView占用更多的內存。請按如下準則顯示內存的使用:
- WebView的尺寸不能比設備的屏幕尺寸更大;
- 限制在少數WebView上使用該模式;
- 在可見的WebView和即將顯現的WebView上使用;
- setPluginState (WebSettings.PluginState state)
- 在API18以上已廢棄。未來將不支持插件,不要使用。告訴WebView啟用、禁用或者有即用(on demand)的插件,即用模式是指如果存在一個可以處理嵌入內容的插件,會顯示一個占位圖標,點擊時開啟。默認值OFF。
- setRenderPriority (WebSettings.RenderPriority priority)
- 在API18以上已廢棄。不建議調整線程優先級,未來版本不會支持這樣做。設置繪制(Render,很多書上翻譯成渲染,貌似很專業,但是不易懂,不敢茍同)線程的優先級。不像其他設置,同一進程中只需調用一次,默認值NORMAL。
- setSansSerifFontFamily (String font)
- 設置無襯線字體集(sans-serif font family)的名字。默認值”sans-serif”.
- setSaveFormData (boolean save)
- WebView是否保存表單數據,默認值true。
- setSavePassword (boolean save)
- API18以上版本已廢棄。未來版本將不支持保存WebView中的密碼。設置WebView是否保存密碼,默認true。
- setSerifFontFamily (String font)
- 設置襯線字體集(serif font family)的名字,默認“sans-serif”。
- setStandardFontFamily (String font)
- 設置標準字體集的名字,默認值“sans-serif”。
- setSupportMultipleWindows (boolean support)
- 設置WebView是否支持多窗口。如果設置為true,主程序要實現onCreateWindow(WebView, boolean, boolean, Message),默認false。
- setSupportZoom (boolean support)
- WebView是否支持使用屏幕上的縮放控件和手勢進行縮放,默認值true。設置setBuiltInZoomControls(boolean)可以使用特殊的縮放機制。該項設置不會影響zoomIn() and zoomOut()的縮放操作。
- setTextSize (WebSettings.TextSize t)
- API14版本以上已廢棄。請取代使用setTextZoom(int)。設置頁面文本的尺寸,默認NORMAL。
- setTextZoom (int textZoom)
- 設置頁面上的文本縮放百分比,默認100。
- setUseWideViewPort (boolean use)
- WebView是否支持HTML的“viewport”標簽或者使用wide viewport。設置值為true時,布局的寬度總是與WebView控件上的設備無關像素(device-dependent pixels)寬度一致。當值為true且頁面包含viewport標記,將使用標簽指定的寬度。如果頁面不包含標簽或者標簽沒有提供寬度,那就使用wide viewport。
- setUserAgentString (String ua)
- 設置WebView的用戶代理字符串。如果字符串為null或者empty,將使用系統默認值。注意從KITKAT版本開始,加載網頁時改變用戶代理會讓WebView再次初始化加載。
- supportMultipleWindows ()
- 獲取WebView是否支持多窗口的值。
- supportZoom ()
- 獲取WebView是否支持縮放的值。
ARP Audio 發布了 APM Live,這是一款數字重現的調制輪(Mod Wheel),采用時間拉伸算法,可提供與項目節奏同步的實時音高調制。
APM Live 與眾不同之處在于它的自動駕駛,它能智能分析你的聲音,并為你動態移動調制輪(Mod Wheel) 。
有了 APM Live,你可以調制速度、范圍和調制波形形狀,并通過直觀的控制毫不費力地塑造調制效果。體驗對聲音的流暢控制。自動駕駛 "模式可適應任何信號,從人聲到錄音樂器。
<script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
Colin Hoek,CARP Audio 創始人兼開發人員說:
“APM Live 的創建是因為僅使用調制輪與合成器感覺有限制,讓人們在他們想象的任何東西上使用這種技術,以獲得更多的音樂可能性。 APM Live 的自動駕駛功能是最重要的,通過讓聲音(音調)自行調節,使音樂制作人的生活變得更輕松、更有趣。”
APM Live適用于Windows和macOS系統,支持AU和VST3插件格式。售價59.95美元,限時首發優惠價49.95美元。
CARP Audio 發布 APM Live 實時自動音高調制插件
https://www.audioapp.cn/bbs/thread-223317-1-1.html
(出處: 音頻應用)
下是使用HTML、CSS和JavaScript實現"櫻花飄落"和"雪花飄落"特效的簡單示例:
1. 櫻花飄落特效:
HTML:
```html
<div class="sakura-container">
<img src="sakura.png" class="sakura" alt="sakura">
</div>
```
CSS:
```css
.sakura-container {
position: relative;
height: 100vh;
overflow: hidden;
}
.sakura {
position: absolute;
top: -50px;
animation: sakura-fall 10s linear infinite;
}
@keyframes sakura-fall {
0% {
transform: translateY(0);
}
100% {
transform: translateY(100vh);
}
}
```
2. 雪花飄落特效:
HTML:
```html
<div class="snow-container">
<span class="snowflake"></span>
</div>
```
CSS:
```css
.snow-container {
position: relative;
height: 100vh;
overflow: hidden;
background-color: #000;
}
.snowflake {
position: absolute;
top: -10px;
width: 10px;
height: 10px;
background-color: #fff;
border-radius: 50%;
animation: snow-fall 5s linear infinite;
}
@keyframes snow-fall {
0% {
transform: translateY(0) rotate(0deg);
}
100% {
transform: translateY(100vh) rotate(360deg);
}
}
```
JavaScript:
```javascript
function createSnowflakes() {
const snowContainer=document.querySelector('.snow-container');
const numFlakes=50;
for (let i=0; i < numFlakes; i++) {
const snowflake=document.createElement('span');
snowflake.classList.add('snowflake');
snowflake.style.left=`${Math.random() * 100}%`;
snowflake.style.animationDelay=`${Math.random() * 5}s`;
snowContainer.appendChild(snowflake);
}
}
createSnowflakes();
```
將上述代碼保存為HTML文件,并在相應的位置放置櫻花或雪花圖像,即可實現對應特效。注意,需要在CSS中調整圖像和容器的樣式以適應實際需求。這只是一個簡單示例,您可以根據自己的喜好和需求進行定制和擴展。