国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 實現背景圖和狀態欄融合方法

2019-10-22 18:16:30
字體:
來源:轉載
供稿:網友

我們先看一下代碼:

public class MainActivity extends AppCompatActivity {  ...  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    if (Build.VERSION.SDK_INT >= 21){      View decorView = getWindow().getDecorView();      decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);      getWindow().setStatusBarColor(Color.TRANSPARENT);    }    setContentView(R.layout.activity_main);      ...  }

由于這個功能是Android5.0及以上的系統才支持的,因此我們先在代碼中做一個系統版本號的判斷,只有當版本號大于或等于21的時候,也就是5.0及以上系統時才會執行后面的代碼。

接著我們調用了getWindow().getDecorView()方法拿到當前活動的DecorView,再調用它的setSystemUiVisibility()方法來改變系統UI的顯示,這里傳入View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和View.SYSTEM_UI_FLAG_LAYOUT_STABLE就表示活動的布局會顯示在狀態欄上面,最后調用一下setStatusBarColor()方法將狀態欄設置成透明色。

僅僅這些代碼就可以實現讓背景圖和狀態欄融合到一起的效果了。

不過,如果運行一下程序,你會發現還是有些問題,界面的頭布局幾乎和系統狀態欄緊貼到一起了,這是由于系統狀態欄已經成為我們布局的一部分,因此沒有單獨為它留空間。當然,這個問題也是非常好解決的,借助android:fitsSystemWindows屬性就可以了。

見代碼:

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="@color/colorPrimary">    <LinearLayout      android:layout_width="match_parent"      android:layout_height="wrap_content"      android:orientation="vertical"      android:fitsSystemWindows="true">    </LinearLayout></FrameLayout>

這樣就可以了。

以上這篇Android 實現背景圖和狀態欄融合方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 集安市| 苏尼特左旗| 西峡县| 滨州市| 招远市| 兴城市| 福清市| 竹北市| 塔城市| 旬邑县| 慈利县| 德钦县| 仁怀市| 罗城| 唐海县| 利津县| 青海省| 班玛县| 天等县| 丹阳市| 武义县| 瑞昌市| 公主岭市| 黄冈市| 调兵山市| 玉溪市| 吉林省| 东源县| 大名县| 怀远县| 丹棱县| 霍山县| 杨浦区| 讷河市| 都江堰市| 尚志市| 黄石市| 南涧| 武汉市| 鹤庆县| 和田市|