AppCompat 21에서 Light.DarkActionBar 테마를 사용하여 ActionBar 제목 텍스트 색상 변경
저는 v7 appcompat 21 라이브러리를 사용하여 롤리팝 이전 장치에서 새로운 머티리얼 스타일을 사용하고 있습니다. 내 styles.xml은 다음과 같습니다.
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColorPrimary">#ff0000</item>
<item name="android:textColorPrimaryInverse">#ff0000</item>
</style>
작업 표시 줄의 텍스트 색상을 변경하려고합니다. 그러나 textColorPrimary 또는 textColorPrimaryInverse에 무엇을 입력하든 색상은 항상 흰색입니다. Theme.AppCompat에서 상속하면 "textColorPrimary"를 재정의 할 수 있고 Theme.AppCompat.Light에서 상속하면 "textColorPrimaryInverse"를 재정의 할 수 있습니다. 그러나 Light.DarkActionBar 테마를 사용할 때는 둘 다 작동하지 않습니다.
colorPrimary와 같은 속성을 설정하여 액션 바 배경색을 변경하기 때문에 AppTheme을 확실히 사용하고 있습니다. 다른 리소스 한정자 스타일 파일을 사용하지 않습니다.
나는 안드로이드 스타일 파일을 파고 들었고 어떤 속성을 재정의 해야하는지 알아낼 수없는 것 같습니다. 어떤 아이디어? 이것은 appcompat 버그입니까?
actionBarStyle
테마의 속성으로 변경할 수 있습니다 .
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid">
<item name="titleTextStyle">@style/MyTitleTextStyle</item>
</style>
<style name="MyTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">CHANGE_COLOR_HERE</item>
</style>
이렇게하면 툴바 제목에 흰색이 사용됩니다.
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
이 답변 의 차이점을 이해 ThemeOverlay.AppCompat.Dark.ActionBar
하고 Theme.AppCompat.Light.DarkActionBar
확인하려면
그건 app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
이 테마에 사용 된 제목 색상이 흰색이기 때문에 밝은 색상을 적용.
'values-v11', 'values-v14'등과 같은 모든 값 폴더를 변경했는지 확인하십시오.
그렇지 않으면 위에 표시된 것과 동일한 'AppTheme'가 앱에서 사용되고 있는지 확인하십시오.
문제에 대한 더 많은 통찰력을 제공 할 스타일을 참조하는 전체 style.xml 및 매니페스트 코드를 게시하십시오.
또한 ToolBar에서 app : theme 및 app : popupTheme 속성을 설정할 수 있습니다 .
onCreate of your Activity에 이것을 추가해보십시오. 거의 모든 Android 버전에서 작동합니다.
자바 활동의 경우 :
actionBar.setTitle(Html.fromHtml("<font color='#ffff00'>Your Title</font>"));
조각의 경우 :
getSupportActionBar().setTitle(Html.fromHtml("<font color='#ffff00'>Your Title</font>"));
생성 된 레이아웃 xml 파일을 사용했지만 android:theme
속성이 재정의 되었음을 알지 못했습니다 .
당신은 당신을 확인 했습니까? :)
이 시도:
<item name="actionMenuTextColor">@color/red</item>
ReferenceURL : https://stackoverflow.com/questions/26870698/change-actionbar-title-text-color-using-light-darkactionbar-theme-in-appcompat-2
'Nice programing' 카테고리의 다른 글
belongsToMany 관계가 존재하는지 확인-Laravel (0) | 2020.12.27 |
---|---|
정수를 Erlang의 문자열로 변환 (0) | 2020.12.27 |
모든 테이블과 필드를 MYSQL의 utf-8-bin 데이터 정렬로 변경하는 스크립트 (0) | 2020.12.27 |
jQuery : 일시적으로 스타일을 변경 한 다음 원래 클래스로 재설정 (0) | 2020.12.27 |
루비에서 날짜의 요일을 어떻게 계산할 수 있습니까? (0) | 2020.12.27 |