日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于实现android状态栏沉浸的几种方法

發布時間:2024/1/17 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于实现android状态栏沉浸的几种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法一

轉載自:https://blog.csdn.net/zephyr_g/article/details/53489320

步驟一:

首先,我們先在values下的style中加入如下代碼:

<!-- Base application theme. --><style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"><!-- Customize your theme here. --><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item></style><style name="AppTheme.Main" parent="AppTheme" />

AppTheme.Main是我們要設置給activity的主題,它應該繼承于AppTheme.NoActionBar,然后?
我們在values-v19中加入同樣的AppTheme.Main,如下所示:

<style name="AppTheme.Main" parent="AppTheme.NoActionBar"><item name="android:windowTranslucentStatus">true</item></style>

步驟二

在布局文件的根布局中加入android:fitsSystemWindows=”true”?

方法二

轉載自:https://www.jianshu.com/p/b7bacc6805c2

步驟一

values

<resources><!-- Base application theme. --><style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"><!-- Customize your theme here. --><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item></style><style name="AppTheme.TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar"/> </resources>

values-v19

<resources><!-- Base application theme. --><style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowTranslucentStatus">true</item><item name="android:windowTranslucentNavigation">true</item></style> </resources>

values-v21

<resources><!-- Base application theme. --><style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowTranslucentStatus">false</item><item name="android:windowTranslucentNavigation">true</item><!--Android 5.x開始需要把顏色設置透明,否則導航欄會呈現系統默認的淺灰色--><item name="android:statusBarColor">@android:color/transparent</item></style></resources>

步驟二:

在activity中添加

private android.support.v7.widget.Toolbar mToolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar=findViewById(R.id.toolbar);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setHeight(mToolbar);
}
}

public void setHeight(View view) {
// 獲取actionbar的高度
TypedArray actionbarSizeTypedArray = obtainStyledAttributes(new int[]{
android.R.attr.actionBarSize
});
float height = actionbarSizeTypedArray.getDimension(0, 0);
// ToolBar的top值
ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
double statusBarHeight = getStatusBarHeight(this);
lp.height = (int) (statusBarHeight + height);
view.setPadding(0,(int) statusBarHeight,0, 0);
mToolbar.setLayoutParams(lp);
}

private double getStatusBarHeight(Context context) {
int result = 0;
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen",
"android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}

?

轉載于:https://www.cnblogs.com/lanlengran/p/9186166.html

總結

以上是生活随笔為你收集整理的关于实现android状态栏沉浸的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。