나는 Holo.Light와 Holo 사이에서 변경할 수있는 설정이있는 경우이를 가질 수 있음을 알고 있습니다. 그러나 어떻게 찾을 수없는 것 같습니다. 모든 도움을 주시면 감사하겠습니다!앱에서 Holo Dark/Light 테마로 변경하려면 어떻게해야합니까?
5
A
답변
7
setTheme()
메서드를 사용하여 작업 할 수 있다고 생각합니다. setContentView
을 사용하기 전에 전화를 걸면 작동하지 않습니다. 테마의 목록은 기본 홀로 테마 사이를 전환해야하는 경우,이를 사용하여 게시 된 대답에 주석 사항에 따라 here
7
을 찾을 수 있습니다
if(userChoice ==1){
setTheme(android.R.style.Theme_Holo_Light);
else if(userChoice == 2){
setTheme(android.R.style.Theme_Holo);
}
: 예를 들어
if (mThemeId == R.style.AppTheme.Dark) {
mThemeId = android.R.style.Theme_Holo_Light;
} else {
mThemeId = android.R.style.Theme_Holo;
}
this.recreate();
Styles.XML
파일에서 사용자 정의 된 테마를 사용하려면. 이 같은 예를 들어 뭔가 :
private int mThemeId = -1;
을 그리고이처럼에서 onCreate() 메소드를 설정합니다 :
<style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar" />
<style name="ActionBar.Light" parent="@style/ActionBar">
<item name="android:background">@color/actionbar_background_light</item>
</style>
<style name="ActionBar.Dark" parent="@style/ActionBar">
<item name="android:background">@color/actionbar_background_dark</item>
</style>
<style name="AppTheme.Light" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar.Light</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="listDragShadowBackground">@android:color/background_light</item>
<item name="menuIconCamera">@drawable/ic_menu_camera_holo_light</item>
<item name="menuIconToggle">@drawable/ic_menu_toggle_holo_light</item>
<item name="menuIconShare">@drawable/ic_menu_share_holo_light</item>
</style>
<style name="AppTheme.Dark" parent="@android:style/Theme.Holo">
<item name="android:actionBarStyle">@style/ActionBar.Dark</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="listDragShadowBackground">@android:color/background_dark</item>
<item name="menuIconCamera">@drawable/ic_menu_camera_holo_dark</item>
<item name="menuIconToggle">@drawable/ic_menu_toggle_holo_dark</item>
<item name="menuIconShare">@drawable/ic_menu_share_holo_dark</item>
</style>
이 Activity
에서 전역 변수를 정의한다
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState != null) {
if (savedInstanceState.getInt("theme", -1) != -1) {
mThemeId = savedInstanceState.getInt("theme");
this.setTheme(mThemeId);
}
mTitlesHidden = savedInstanceState.getBoolean("titlesHidden");
}
setContentView(R.layout.main);
}
그리고 두 테마를 전환하려면 코드 :
if (mThemeId == R.style.AppTheme.Dark) {
mThemeId = R.style.AppTheme.Light;
} else {
mThemeId = R.style.AppTheme.Dark;
}
this.recreate();
참고 : 전화하기 전에 테마를 설정해야합니다.
관련 문제
- 1. Holo Dark 테마로 바꿀 수 없습니다.
- 2. 삼성 기기의 앱에서 Holo UI 강제 적용
- 3. Trigger.io로 만든 앱에서 시작 화면을 변경하려면 어떻게해야합니까?
- 4. Xcode 앱에서 볼륨 레벨을 변경하려면 어떻게해야합니까?
- 5. holo light와 holo dark를 혼합 테마의 EditText
- 6. Android Holo 테마와 하위 호환성
- 7. 플렉스 앱에서 html-template 폴더의 위치를 변경하려면 어떻게해야합니까?
- 8. Windows 저장 앱에서 내 설정 플라이 아웃의 배경색을 변경하려면 어떻게해야합니까?
- 9. xcode iphone 앱에서 내 손 PNG 이미지의 색상을 변경하려면 어떻게해야합니까?
- 10. android에서 버튼의 스타일을 변경하려면 어떻게해야합니까?
- 11. 탭이 홀로 테마로 표시되지 않습니다.
- 12. 컨트롤의 불투명도를 변경하려면 어떻게해야합니까?
- 13. 키보드 로케일을 변경하려면 어떻게해야합니까?
- 14. JComboBox의 UI를 변경하려면 어떻게해야합니까?
- 15. UITabBarItem 동작을 변경하려면 어떻게해야합니까?
- 16. 스레드에서 변수를 변경하려면 어떻게해야합니까?
- 17. UIImage의 채도를 변경하려면 어떻게해야합니까?
- 18. 초기로드 이미지를 변경하려면 어떻게해야합니까?
- 19. 동적으로 Textview를 변경하려면 어떻게해야합니까?
- 20. UINavigationBar의 배경을 변경하려면 어떻게해야합니까?
- 21. mod_python의 버전을 변경하려면 어떻게해야합니까?
- 22. 임시 테이블을 변경하려면 어떻게해야합니까?
- 23. 배열의 크기를 변경하려면 어떻게해야합니까?
- 24. wxRadioButton의 전경색을 변경하려면 어떻게해야합니까?
- 25. Android에서 키보드를 변경하려면 어떻게해야합니까?
- 26. TableItem의 인덱스를 변경하려면 어떻게해야합니까?
- 27. DataGrid에서 글꼴을 변경하려면 어떻게해야합니까?
- 28. UISegmentedControl의 레이아웃을 변경하려면 어떻게해야합니까?
- 29. 테마로 안드로이드 색상 변경
- 30. Game Center에서 순위표의 순서를 변경하려면 어떻게해야합니까?
왜 'android.R.style.DesiredThemeIdHere'를 사용하지 않고 자신 만의 테마를 정의 하시겠습니까? –
@AndreyVoitenkov : 필요하지 않습니다. 나는 단순히 커스텀 테마를 사용하고 런타임에 그것을 변경할 가능성을두고있다. 죄송합니다. 불필요한 경우. – SSL