欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android開發(fā)如何實(shí)現(xiàn)瀏覽器全屏顯示功能-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Android開發(fā)如何實(shí)現(xiàn)瀏覽器全屏顯示功能的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)主營雁江網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,雁江h(huán)5重慶小程序開發(fā)搭建,雁江網(wǎng)站營銷推廣歡迎雁江等地區(qū)企業(yè)咨詢

具體如下:

業(yè)務(wù)需求:瀏覽器設(shè)置中支持全屏顯示的功能。

分析:只需要在設(shè)置界面上增加是否全屏的checkBox , 然后 BrowserActivity 中讀取這個(gè)值, 來設(shè)置窗口的 Style.

修改:

1.  修改項(xiàng)目下的 res/xml 文件夾下的 browser_preferences.xml 文件, 添加

<CheckBoxPreference
  android:key="full_screen"
  android:defaultValue="false"
  android:title="@string/pref_full_screen"
  android:summary="@string/pref_full_screen_summary" />

2. BrowserActivity中創(chuàng)建 SetScreen() 方法

public void setScreen(){
  //set to full screen if necessary
  SharedPreferences sp = getSharedPreferences(this.getPackageName()+"_preferences",
  Context.MODE_WORLD_READABLE);
  Boolean isFullScreen = sp.getBoolean(BrowserSettings.PREF_FULL_SCREEN, false);
  //if search dialog is open, we should quit full screen.
  if(isFullScreen && !isSearchDialogOpen){
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
  } else{
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
  }
}

如果我們第一次進(jìn)入瀏覽器是非全屏, 然后進(jìn)入設(shè)置修改成全屏模式, 這時(shí)候返回到BrowserActivity , 全屏模式必須馬上切換過來。 所以我們在 OnResume() 里面調(diào)用 setScreen() , 不要在 onCreate() 里面調(diào) .

3. 大家可能注意到了, 判斷全屏切換時(shí)有個(gè) isSearchDialogOpen 變量, 這是用來控制在搜索框出現(xiàn)時(shí)的全屏切換的。 因?yàn)辄c(diǎn)擊進(jìn)地址欄時(shí)會調(diào)用系統(tǒng)的搜索框控件, 而這個(gè)控件不屬于瀏覽器, 是個(gè)單獨(dú)的窗口, 并且一開始創(chuàng)建時(shí)是有標(biāo)題欄的。這時(shí)候如果設(shè)置成無標(biāo)題欄的風(fēng)格時(shí), 就會出現(xiàn)標(biāo)題欄先出現(xiàn), 然后又隱藏上去, 并且有 2-3 次反復(fù)的情況,用戶體驗(yàn)非常糟糕。 這里就做了個(gè)折中, 當(dāng)搜索框出現(xiàn)時(shí), 切換成非全屏模式, 這樣標(biāo)題欄就一直在那里,不會來回閃了。 退出搜索時(shí),如果設(shè)置的是全屏,再切換成全屏模式。 所以在搜索框出現(xiàn)和消失時(shí)的代碼部分, 還要做相應(yīng)修改。 見如下代碼:

public void startSearch(String initialQuery, Boolean selectInitialQuery,Bundle appSearchData, Boolean globalSearch) {
  if (appSearchData == null) {
    appSearchData = createGoogleSearchSourceBundle(GOOGLE_SEARCH_SOURCE_TYPE);
  }
  SearchEngine searchEngine = mSettings.getSearchEngine();
  if (searchEngine != null && !searchEngine.supportsVoiceSearch()) {
    //appSearchData.putBoolean(SearchManager.DISABLE_VOICE_SEARCH, true);
  }
  //show status bar when search window pops up. isSearchDialogOpen = true;
  //show status bar when search window pops up. getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
  super.startSearch(initialQuery, selectInitialQuery, appSearchData, globalSearch);
}

搜索框消失部分:

//switch to full screen if necessary when search window disappears.
public void onDismiss() {
  isSearchDialogOpen = false;
  setScreen();
}

(PS: BrowserActivity 必須繼承 OnDismissListener 接口才有 onDismiss 方法。)

感謝各位的閱讀!關(guān)于“Android開發(fā)如何實(shí)現(xiàn)瀏覽器全屏顯示功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

文章題目:Android開發(fā)如何實(shí)現(xiàn)瀏覽器全屏顯示功能-創(chuàng)新互聯(lián)
地址分享:http://chinadenli.net/article30/cohcso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)企業(yè)建站用戶體驗(yàn)面包屑導(dǎo)航品牌網(wǎng)站制作微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管