ImmersionBar 是一个强大的 Android 工具栏,用于定制状态栏、导航栏和沉浸式体验。要设置最佳效果,请遵循以下步骤:
- 添加依赖项:
在项目的 build.gradle 文件中添加 ImmersionBar 的依赖项:
dependencies { implementation 'com.gyf.immersionbar:immersionbar:3.3.0' }
- 在 Application 类中初始化 ImmersionBar:
import com.gyf.immersionbar.ImmersionBar; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // 初始化 immersionBar ImmersionBar.with(this) .statusBarDarkFont(true, true) // 设置状态栏字体颜色为深色 .navigationBarDarkFont(true, true) // 设置导航栏字体颜色为深色 .init(); } }
- 在 AndroidManifest.xml 文件中指定 Application 类:
- 设置沉浸式状态栏和导航栏:
在需要沉浸式的 Activity 中,可以使用以下代码设置状态栏和导航栏的颜色:
import com.gyf.immersionbar.ImmersionBar; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 设置沉浸式状态栏和导航栏 ImmersionBar.with(this) .statusBarColor(Color.parseColor("#3F51B5")) // 设置状态栏颜色 .navigationBarColor(Color.parseColor("#3F51B5")) // 设置导航栏颜色 .statusBarDarkFont(true, true) // 设置状态栏字体颜色为深色 .navigationBarDarkFont(true, true) // 设置导航栏字体颜色为深色 .init(); } }
- 自定义沉浸式效果:
如果需要自定义沉浸式效果,可以使用以下方法:
- 设置状态栏透明度:
ImmersionBar.with(this) .statusBarAlpha(0.5f) // 设置状态栏透明度,范围为 0-1 .init();
- 设置导航栏透明度:
ImmersionBar.with(this) .navigationBarAlpha(0.5f) // 设置导航栏透明度,范围为 0-1 .init();
- 设置状态栏和导航栏颜色渐变:
ImmersionBar.with(this) .statusBarColorGradual(Color.parseColor("#3F51B5"), 100) // 设置状态栏颜色渐变,startColor 为起始颜色,endColor 为终止颜色,duration 为过渡时间(毫秒) .navigationBarColorGradual(Color.parseColor("#3F51B5"), 100) // 设置导航栏颜色渐变 .init();
- 设置状态栏和导航栏背景颜色:
ImmersionBar.with(this) .statusBarBackground(Color.parseColor("#3F51B5")) // 设置状态栏背景颜色 .navigationBarBackground(Color.parseColor("#3F51B5")) // 设置导航栏背景颜色 .init();
通过以上步骤,您可以设置 ImmersionBar 的最佳效果。根据项目需求,可以灵活调整各种参数以获得理想的沉浸式体验。