Mục tiêu
Thay đổi màu Status Bar (thanh trạng thái trên cùng) cho từng Activity khác nhau (yêu cầu API 21+ / Lollipop).
Các bước
Bước 1: Tạo project
Bước 2: Layout activity_main.xml (Activity 1)
<LinearLayout ... android:gravity="center" android:orientation="vertical">
<Button android:id="@+id/click" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="click for second" />
</LinearLayout>
Bước 3: MainActivity.java - Set màu Status Bar vàng
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(Color.parseColor("#FFFF00")); // Vàng
}
setContentView(R.layout.activity_main);
findViewById(R.id.click).setOnClickListener(v ->
startActivity(new Intent(this, Main2Activity.class)));
}
}
Bước 4: Layout activity_main2.xml (Activity 2)
<android.support.constraint.ConstraintLayout ... />
Bước 5: Main2Activity.java - Set màu Status Bar đỏ
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(Color.parseColor("#B22222")); // Đỏ (Firebrick)
}
setContentView(R.layout.activity_main2);
}
}
Bước 6: AndroidManifest.xml - Khai báo Activity 2
<manifest ... package="com.example.andy.myapplication">
<application ...>
<activity android:name=".MainActivity" android:screenOrientation="portrait">
<intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>
</activity>
<activity android:name=".Main2Activity" />
</application>
</manifest>
Kết quả
Activity 1 - Status Bar vàng:

Activity 2 - Status Bar đỏ:
