Androidのフルスクリーンと透明なステータスバーの概要

通常、スタートアップページは全画面表示である必要があり、全画面表示でステータスバーを非表示にするアニメーションがある場合があります。ユーザーエクスペリエンスはあまり良くありません。現在、基本的に透明なステータスバーになり、 iOSディスプレイの効果は同じなので、ここに要約を示します。以下はレンダリングです。透明なステータスバーをグローバルに設定する必要があるかどうかは明らかではありません。

フルスクリーンGIF

1.全画面表示

フルスクリーン表示を制御する方法は2つあり、1つはコードを使用する方法、もう1つは対応するアクティビティのテーマを直接制御する方法です。ジャンプするとアニメーション効果が過度に隠される可能性があり、ユーザーエクスペリエンスはそうではないと個人的に感じています。とても良い。

1.1コード制御

public class FullScreenCode extends Activity{
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //去除标题栏
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //全屏展示
        getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);

        setContentView(R.layout.activity_fullscreen_layout);
    }
}

注:
1。タイトルバーと全画面表示を削除するには、setContentViewの前に呼び出す必要があります
。2。AppCompatActivityは継承できません継承しないと、次のようなエラーが報告されます。

AppCompatActivityのエラーを継承します


1.2AndroidManifest.xmlでの制御

xml 中

        <activity android:name=".views.activity.FullScreenXml" android:theme="@style/AppTheme.Fullscreen"/>

style.xmlNoActionBar
はタイトルバーではありません

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
    </style>

    <style name="AppTheme.Fullscreen">
        <item name="android:windowFullscreen">true</item>
    </style>

2.透明なステータスバー

透明なステータスバーを直接使用すると、ユーザーエクスペリエンスが向上します。

styles.xmlで直接設定すると、エラーが発生します

ここに写真の説明を書いてください

上記は、透過ステータスバーの属性が4.4より上のみサポートされていることを示していますしたがって、v19値の新しいstyles.xmlを作成する必要があります

ここに写真の説明を書いてください

values-v19のstyles.xmlの属性に、windowTranslucentStatusの属性が追加されました。

<resources>


    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    </style>
    <!-- <item name="android:windowTranslucentNavigation">true</item>-->

    <style name="AppTheme.TranslucentStatus">
        <item name="android:windowTranslucentStatus">true</item>
    </style>

</resources>

特定の参照、4.4を超えるデバイスは自動的にv19まで実行されて呼び出します

<activity android:name=".views.activity.FullScreenXml4" android:theme="@style/AppTheme.TranslucentStatus"/>

最終レンダリング:

ここに写真の説明を書いてください


3.まとめ

これが要約です。今日書き込もうとしたときに突然手が届きましたが、それでも前のコードを確認するか、情報を見つける必要があります。さらに、Baiduが見つけた情報は説明がつかないか、形式が乱雑で、基本的に同じでした。
したがって、後で簡単に確認できるように、レコードが要約されます。

おすすめ

転載: blog.csdn.net/android_freshman/article/details/52956397