`
龙哥IT
  • 浏览: 254031 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

透明状态栏和导航栏设置

 
阅读更多

UltimateBar

使用这个库,首先需要添加依赖:

compile 'org.zackratos:ultimatebar:1.0.3'

 

自定义颜色的状态栏和导航栏

要设置自定义颜色的状态栏和导航栏只需要在 onCreate 方法中调用如下代码:

UltimateBar ultimateBar = new UltimateBar(this);
ultimateBar.setColorBar(ContextCompat.getColor(this, R.color.DeepSkyBlue));

 

半透明的状态栏和导航栏

半透明状态栏和导航栏的使用方法也非常简单,只要在 onCreate 方法中调用以下代码:

UltimateBar ultimateBar = new UltimateBar(this);
ultimateBar.setTransparentBar(Color.BLUE, 50);

 

完全透明的状态栏和导航栏

其实完全透明的状态栏和导航栏就是半透明的状态栏和导航栏中当透明度为 0 的情况,只需在 onCreate 方法中调用如下方法:

UltimateBar ultimateBar = new UltimateBar(this);
ultimateBar.setImmersionBar();

 

隐藏状态栏和导航栏

这种情况比较常见了,一般玩游戏,看视频就是这种效果,这种效果的实现有点特殊,必须重写 Activity 的 onWindowFocusChanged 方法,如下:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        UltimateBar ultimateBar = new UltimateBar(this);
        ultimateBar.setHintBar();
    }
}

 

 

针对 DrawerLayout 的实现

还有一种特殊情况,就是对于 DrawerLayout,上面的方法会出现一些问题,达不到想要的效果,这里针对 DrawerLayout 做了特殊处理,一般来说,对于 DrawerLayout 只要实现自定义颜色的状态栏和导航栏效果就好了,其他情况就不用考虑了,可以在 onCrate 调用如下代码:

UltimateBar ultimateBar = new UltimateBar(this);
ultimateBar.setColorBarForDrawer(ContextCompat.getColor(this, R.color.DeepSkyBlue));

但是这样其实还是不够的,还必须要在布局文件中在 DawerLayout 的子 view 的主界面添加 android:fitsSystemWindows="true",就像这样:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:orientation="vertical">
    </LinearLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/SpringGreen"
        android:layout_gravity="left"/>

</android.support.v4.widget.DrawerLayout>

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    android沉浸式状态栏、变色状态栏、透明状态栏、修改状态栏颜色及透明

    通过设置这两个标志,可以隐藏导航栏和状态栏,让应用内容全屏显示。此外,还可以使用`SYSTEM_UI_FLAG_IMMERSIVE_STICKY`标志,使用户在触摸屏幕时短暂显示状态栏和导航栏,松手后自动恢复隐藏状态。 2. **变色状态...

    沉浸式状态栏,一款方便的设置状态栏和导航栏的各种效果的框架

    2. **透明效果**:使状态栏或导航栏变得透明,或者设置不同程度的透明度,以实现半透明效果。 3. **阴影效果**:添加或移除状态栏下方的阴影,以增加深度感或保持简洁的界面。 4. **颜色动画**:在状态栏和导航栏...

    Android内容覆盖透明状态栏下实现全屏模式下带状态栏的效果

    在Android 5.0(Lollipop)之前,状态栏通常是不可定制的,但在之后的版本中,Google引入了`透明状态栏`和`导航栏`的概念,允许开发者自定义这部分的外观。 在Android的样式(style)文件中,可以通过设置以下属性...

    Android 4.4修改状态栏、导航栏颜色、透明度

    5. 为了实现透明状态栏,可以设置颜色为完全透明: ```java tintManager.setStatusBarTintColor(Color.TRANSPARENT); ``` 6. 如果需要动态改变颜色,可以使用`SystemBarTintManager`提供的监听器。例如,你可以...

    Android-Android屏幕适配之状态栏导航栏半透明全透明5.0以上去阴影方法多样

    在Android应用开发中,屏幕...总之,通过巧妙地利用Android API和布局设置,我们可以实现状态栏和导航栏的半透明和全透明效果,提升应用的视觉效果和用户体验。同时,注意适配不同Android版本,确保应用的广泛兼容性。

    沉浸式状态栏(渐变透明)

    1. **启用系统主题**: 在AndroidManifest.xml中,为应用或者特定的Activity设置`android:theme`属性,启用透明状态栏的主题。例如,我们可以使用`Theme.AppCompat.NoActionBar`或者`Theme.MaterialComponents.Light....

    设置沉浸式布局后,手机状态栏或导航栏出现白屏。

    5. **检查颜色和透明度设置**:确认状态栏和导航栏的颜色设置是否正确,避免白色背景导致的视觉问题。 6. **调试和测试**:在不同的设备和Android版本上进行测试,确保在所有情况下都能正常工作。 通过以上步骤,...

    swift-一行代码设置状态栏样式和导航栏背景颜色

    本教程将深入讲解如何使用一行代码来设置状态栏样式、导航栏背景颜色,以及调整导航栏内的标题、按钮和透明度,并启用全屏pop手势支持。 首先,状态栏样式可以通过`UIApplication`的`statusBarStyle`属性来设置。...

    顶部导航栏渐变透明

    在Android 5.0(Lollipop)及以上版本,系统提供了对透明状态栏的支持。通过设置`windowTranslucentStatus`属性为`true`,可以在主题中开启状态栏的透明效果。但这只是让状态栏变为完全透明,并不能实现渐变的效果。...

    android透明状态栏

    首先,透明状态栏的基础设置通常涉及到修改`AndroidManifest.xml`中的主题设置。对于API 21及以上的版本,可以使用`Theme.AppCompat.NoActionBar`或`Theme.MaterialComponents.Light.NoActionBar`主题,它们默认开启...

    Android 透明状态栏,各种实现

    然后在`&lt;item name="android:windowTranslucentStatus"&gt;true&lt;/item&gt;`设置透明状态栏。 ```xml &lt;item name="android:windowTranslucentStatus"&gt;true &lt;item name="android:windowDrawsSystemBarBackgrounds"&gt;true ...

    ios-超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等.zip

    好评率100%,一行代码搞定导航栏颜色、透明度、标题、状态栏、偏移等,强烈推荐 oc和swift都有 github地址:https://github.com/wangrui460/WRNavigationBar 简书实现过程地址:...

    Android轻松实现沉浸式/透明式状态栏

    在Android应用开发中,提供沉浸式...通过以上步骤,你就能在Android应用中实现沉浸式或透明状态栏的效果,为用户提供更加美观和一致的界面体验。在实际开发中,根据项目的具体需求,可能还需要进行更多的调整和优化。

    Android设置透明状态栏和透明导航栏

    透明导航栏的设置与透明状态栏类似,但需要注意以下几点: 1. **同样在AndroidManifest.xml设置主题**: 添加以下代码到主题中: ```xml &lt;item name="android:windowTranslucentNavigation"&gt;true ``` 或者在...

    Unity显示Android手机状态栏

    2. **设置透明状态栏**:Unity应用可以使用`AndroidStatusBar.SetStatusBarTransparent()`来使状态栏变为透明。这通常需要在AndroidManifest.xml文件中添加权限,并在Java层处理,通过修改Activity的主题属性,如`...

    Android透明状态栏demo

    透明状态栏往往伴随着透明导航栏,处理方式与状态栏类似,使用`android:windowTranslucentNavigation`属性。如果需要自定义导航栏颜色,也可以通过`android:navigationBarColor`属性。 在`StatusBarAlphaDemo`这个...

    swift-一行代码设置状态栏导航栏按钮标题颜色透明度移动等

    超简单!!! 一行代码设置状态栏、导航栏按钮、标题、颜色、透明度,移动等 WRNavigationBar which allows you to change NavigationBar's appearance dynamically

    Android状态栏透明(沉浸式)Demo

    这个属性可以控制布局是否应该避开系统视图,如状态栏和导航栏。默认情况下,`fitsSystemWindows="true"`会将布局顶部留出状态栏的高度,但将其设置为`false`可以使布局填充整个屏幕,包括状态栏区域。 在XML布局...

    导航栏AND状态栏

    此外,通过设置`android:windowTranslucentStatus`为`true`,可以实现状态栏的半透明效果。若要改变状态栏文字和图标颜色,需要利用`android:windowLightStatusBar`属性,当其值设为`true`时,状态栏的图标和文字将...

Global site tag (gtag.js) - Google Analytics