【问题标题】:Two activities with different colored status bar具有不同颜色状态栏的两个活动
【发布时间】:2018-12-22 09:12:10
【问题描述】:

我有两个活动,第一个活动应该有一个黑色的状态栏,第二个活动应该有白色的操作栏。 那我该怎么做呢?

我想更改状态栏颜色,但不应将相同颜色应用于所有活动。

【问题讨论】:

    标签: java android android-studio android-layout statusbar


    【解决方案1】:

    您可以使用以下代码更改状态栏的颜色:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().setStatusBarColor(color);
    }
    

    【讨论】:

      【解决方案2】:

      试试这个:

      activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
      activity.getWindow()ow.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
      activity.getWindow().setStatusBarColor(ContextCompat.getColor(activity,R.color.custom_color));
      

      或者创建一个具有其他颜色的自定义主题并将其设置在第二个活动中:

      public void onCreate(Bundle savedInstanceState) {
         setTheme(android.R.style.CustomThemeWithOtherColors);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_second);
      }
      

      【讨论】:

        【解决方案3】:

        要更改状态栏颜色,请尝试以下方法

        public static void statusBarColor(Context context, int color) {
        
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        
                activity.getWindow().setStatusBarColor(
                        darkenColor(
                                ContextCompat.getColor(activity, color)));
            }
        
        }
        

        方法调用

        statusBarColor(this,R.color.colorAccent);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-06-30
          • 1970-01-01
          • 2016-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-09
          • 1970-01-01
          相关资源
          最近更新 更多