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