android:设置底部导航栏透明

一,代码:

在activity的oncreate方法中添加如下代码:

        //设置状态栏透明
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
            getWindow().setNavigationBarColor(Color.TRANSPARENT);
        }

例子:

public class MylistActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        
        //设置状态栏透明
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
            getWindow().setNavigationBarColor(Color.TRANSPARENT);
        }

        // 设置activity的窗口属性为contentFeature,即可使用切换动画
        getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
        Transition explode = TransitionInflater.from(this).inflateTransition(R.transition.slide_right);
        // 此处获取了系统内置的explode动画效果设置给了activity的窗口对象
        getWindow().setEnterTransition(explode);
        
        //设置view
        setContentView(R.layout.activity_mylist);

        doGetData();
    }

 

二,测试效果:

posted @ 2025-05-01 09:22  刘宏缔的架构森林  阅读(257)  评论(0)    收藏  举报