带有不同颜色状态栏的两个活动

时间:2018-12-22 09:12:10

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

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

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

3 个答案:

答案 0 :(得分:0)

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

def max_visited_speciality(patient_medical_speciality_list,medical_speciality):
    speciality_list=[]
    for words in patient_medical_speciality_list:
        if words in medical_speciality:
                speciality_list.append(words)
                speciality=max(speciality_list)
                return speciality

#provide different values in the list and test your program
patient_medical_speciality_list=[301,'P',302, 'P' ,305, 'P' ,401, 'E' ,656, 'E']
medical_speciality={"P":"Pediatrics","O":"Orthopedics","E":"ENT"}
speciality = max_visited_speciality(patient_medical_speciality_list,medical_speciality)
print(speciality)

答案 1 :(得分:0)

尝试一下:

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);
}

答案 2 :(得分:0)

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

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);