欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中關(guān)于屏幕的三個小眾知識(寬屏適配、禁止截屏和保持屏幕常亮)

 更新時間:2017年12月03日 08:23:25   作者:亦楓  
這篇文章主要給大家介紹了Android中關(guān)于屏幕的三個小眾知識,分別是寬屏適配、禁止截屏和保持屏幕常亮的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友們可以參考學習,下面隨著小編來一起學習學習吧。

前言

寬屏適配、禁止截屏和保持屏幕常亮,這三個與屏幕有關(guān)的 Android 開發(fā)小眾知識,說不定什么時候就派上用場。

寬屏適配

Android的屏幕適配一直以來都在折磨著我們Android開發(fā)者,越來越多的手機廠商趨向于全面屏設(shè)計,比如今年出廠的 18.5:9 屏幕比例的三星 Galaxy S8 手機,前兩天剛發(fā)布 18:9 屏幕比例的 OnePlus 5T 手機, 屏幕比例均超過過去常見的 16:9 比例。超大屏幕比例的設(shè)計對于 Android App 來說,存在一個屏幕適配的問題。

我們需要在 Manifest 清單文件中定義一個更大值的 android.max_aspect 屬性,保證我們的 App 能夠充分利用多余的屏幕空間。

<meta-data 
 android:name="android.max_aspect"
 android:value="2.1"/>

max_aspect 屬性表示 App 能夠支持的最大屏幕比例,官方建議我們將該值設(shè)置為 2.1 或者更高的值。

注意:如果你沒有使用 meta-data 標簽設(shè)置 max_aspect 屬性,同時 android:resizeableActivity 屬性值為 true 的話,App 默認使用的最大 aspect 默認值為 1.8(大約 16:9 的樣子)。

備注: resizeableActivity 屬性在 targetSDKVersion 小于 24 的應用中值為 false,其他為 true。

下面這張圖通過對比呈現(xiàn)出不同 aspect 值的 App 在高屏幕比例設(shè)備中的顯示效果:

左邊為 16:9 的 aspect 設(shè)置,右邊為 18.5:9 的設(shè)置,同樣使用的是屏幕比例為 18.5:9 的大屏設(shè)備。明顯可以看出,低比例值設(shè)置的 App 打開時屏幕上下均有留白,也就說不能充分利用屏幕空間。

禁止截屏

像支付寶付款二維碼這種對安全要求比較高的界面,應用一般會選擇屏蔽設(shè)備截屏功能。當你同時按下截屏快捷鍵組合(常見為開機鍵 + 音量上鍵)時,系統(tǒng)會自動提示截屏失敗等關(guān)聯(lián)信息。

禁止截屏的實現(xiàn)方式并不是很難,在需要設(shè)置禁止截屏的 Activity 的生命周期 onCreate() 方法中添加一行代碼即可:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

我們來看看Android開發(fā)者網(wǎng)站是怎么解釋FLAG_SECURE的:

意思就是設(shè)置了這個flag后, 系統(tǒng)會把當前窗口的內(nèi)容視為安全隱私內(nèi)容, 系統(tǒng)會阻止這些內(nèi)容被截屏或者在不安全可靠的場景顯示出來.

在Google的過程中, 發(fā)現(xiàn)這個flag可以實現(xiàn)以下功能:

  • 阻止屏幕截圖
  • 在Recent apps(任務切換界面)中只顯示應用名字和圖標, 不顯示內(nèi)容
  • Google App的Now on tap功能不會去分析你的頁面的內(nèi)容

屏幕常亮

通常我們都會設(shè)置手機自動調(diào)節(jié)屏幕亮度或者固定時間后自動鎖屏。然而部分 App 或者部分頁面需要保持屏幕常亮,如股票實時走勢頁面。

實現(xiàn)起來也很簡單,像禁止截屏一樣,在需要的 Activity 的 onCreate() 生命周期方法中添加代碼:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

補充小技巧:

類似設(shè)置禁止截屏和保持屏幕常亮這種依賴生命周期方法的代碼,如果需要應用到多個 Activity 的話,可以將其放在 BaseActivity 基類中,避免編寫重復性代碼。或者還可以借助這個神奇的 Activity 生命周期接口:

ActivityLifecycleCallbacks

在自定義 Application 類 onCreate() 方法中添加:

registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
 @Override
 public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
 activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
 activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
 }
 // 這里省略其他相關(guān) Activity 生命周期函數(shù)
 ...
});

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Android Studio進行APP圖標更改的兩種方式總結(jié)

    Android Studio進行APP圖標更改的兩種方式總結(jié)

    這篇文章主要介紹了Android Studio進行APP圖標更改的兩種方式總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Android ListView用EditText實現(xiàn)搜索功能效果

    Android ListView用EditText實現(xiàn)搜索功能效果

    本篇文章主要介紹了Android ListView用EditText實現(xiàn)搜索功能效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Android開發(fā)實現(xiàn)的簡單五子棋游戲示例

    Android開發(fā)實現(xiàn)的簡單五子棋游戲示例

    這篇文章主要介紹了Android開發(fā)實現(xiàn)的簡單五子棋游戲,結(jié)合實例形式分析了Android實現(xiàn)五子棋游戲功能的布局、游戲功能等具體實現(xiàn)步驟與相關(guān)算法實現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12
  • Android仿QQ好友列表分組實現(xiàn)增刪改及持久化

    Android仿QQ好友列表分組實現(xiàn)增刪改及持久化

    這篇文章主要介紹了Android仿QQ好友列表分組實現(xiàn)增刪改及持久化的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Android自定義FloatingText仿點贊+1特效

    Android自定義FloatingText仿點贊+1特效

    這篇文章主要為大家詳細介紹了Android自定義FloatingText仿點贊+1特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Android多返回棧技術(shù)

    Android多返回棧技術(shù)

    本文將詳情講解用戶通過系統(tǒng)返回按鈕導航回去的一組頁面,在開發(fā)中被稱為返回棧 (back stack)。多返回棧即一堆 "返回棧",對多返回棧的支持是在 Navigation 2.4.0-alpha01 和 Fragment 1.4.0-alpha01 中開始的,有興趣的話一起參與學習
    2021-08-08
  • Android開發(fā)之Android.mk模板的實例詳解

    Android開發(fā)之Android.mk模板的實例詳解

    這篇文章主要介紹了Android開發(fā)之Android.mk模板的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • Android 實現(xiàn)會旋轉(zhuǎn)的餅狀統(tǒng)計圖實例代碼

    Android 實現(xiàn)會旋轉(zhuǎn)的餅狀統(tǒng)計圖實例代碼

    這篇文章主要介紹了Android 實現(xiàn)會旋轉(zhuǎn)的餅狀統(tǒng)計圖實例代碼的相關(guān)資料,這里附有實例代碼及實現(xiàn)效果圖,需要的朋友可以參考下
    2016-12-12
  • Android HandlerThread案例詳解

    Android HandlerThread案例詳解

    這篇文章主要介紹了Android HandlerThread案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Android自定義View實現(xiàn)微信支付密碼輸入框

    Android自定義View實現(xiàn)微信支付密碼輸入框

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)微信支付密碼輸入框,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06

最新評論