본문 바로가기
Programing/android

[android studio] themes 색상, 상태바 액션바 색상변경

by TEXTBOX 2021. 11. 7.
728x90

앱에서 상단 상태bar와 타이틀 bar의 색상을 변경하는 부분을 알아보자.

 

<resources xmlns:tools="http://schemas.android.com/tools">
	<!-- Base application theme. -->
	<style name="Theme.app" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
		<!-- Primary brand color. -->
		<item name="colorPrimary">@color/white</item> <!-- actionbar 바탕색, 탭 select text 색상 -->
		<item name="colorPrimaryVariant">@color/black</item> <!-- 최상단 status바 바탕색 -->
		<item name="colorOnPrimary">@color/white</item> <!--  -->
		<!-- Secondary brand color. -->
		<item name="colorSecondary">@color/teal_200</item> <!--  -->
		<item name="colorSecondaryVariant">@color/teal_700</item> <!--  -->
		<item name="colorOnSecondary">@color/white</item> <!--  -->
		<!-- Status bar color. -->
		<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
		<!-- Customize your theme here. -->

</style>

 

위 themes.xml 파일에서 colorPrimary 속성과 colorPrimaryVariant 속성을 변경하면 
아래 이미지의 해당 부분의 색상을 변경할 수 있다.

<- colorPrimaryVariant 해당 부분 변경시 여기 맨위 시간이 나타나는 상태바 색상이 변경

<- colorPrimary 변경시에 action바의 색상 변경

 

 

 

 

 

 

 

 

 

 

 

 

AppBarLayout의 팝업되는 메뉴의 색상변경시 AppBarLayout의 테마를 우선 지정해 주고

<com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/Theme.app.AppBarOverlay">

themes.xml에서 아래와 같이 색상을 지정해 준다.

<style name="Theme.app.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" >
	<item name="android:textColor">@color/darkModeTextColor</item>
</style>

 

728x90

댓글