2016-08-03 4 views
1

모바일/태블릿 및 TV 용 응용 프로그램이 있습니다. 현재 TV에 leanback을 사용하고 있으며이 프로젝트는 3 개의 모듈로 구성되어 있습니다. 첫 번째 라이브러리 (라이브러리)에는 TV 및 모바일/태블릿 모듈에 공통적 인 모든 클래스가 포함되어 있습니다. 그런 다음 빌드에서 두 개의 개별 apk를 생성하는 tv 및 모바일/태블릿 모듈이 있습니다. 하나는 모바일/태블릿 용이고 다른 하나는 TV 용입니다. 단일 apk를 생성 할 수 있도록 두 모듈을 모두 포함하는 모듈을 구축 중입니다. 나는 gradle 빌드를 하나로 병합 할 수있었습니다. 하지만 두 APK 모두 다른 테마를 사용하고 있습니다. 이는 매니페스트의 <application>에 정의되어 있습니다. 거기에 결정하거나 응용 프로그램이 디스플레이 메트릭 ec의 알고리즘을 작성하지 않고 사용할 테마를 알고 있도록 빌드를 분기하는 방법이 있나요? ?
두 테마는 AppTheme 다음과 같습니다두 apk/모듈에서 단일 apk 만들기

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 

<style name="AppTheme" parent="@style/Theme.Leanback"> 

는 예를 들어 값-TV를 제공 할 수 있을까요? 그래서 완전한 리팩토링을 할 필요가 없으며 if/else 문을 수행하는 데이 테마가 어디에 사용됩니까?

둘 중 하나를 라이브러리로 만들지 않고 두 모듈을 통합 한 경험이 있습니까?

This 스레드가 흥미 보이지만,이 테마 것은 ...

답변

1

당신의 생각은 권리입니다. 리소스 지정자를 사용하고 두 번째 테마를 폴더에 추가하면됩니다. 가치 - 텔레비전. 테마는 기본 테마를 확장해야하므로 이름 지정 문제로 고생하지 않아도됩니다. 리소스 구성에 대한 자세한 내용은 여기에서 확인할 수 있습니다. https://developer.android.com/guide/topics/resources/providing-resources.html

+0

재미 있고, 나는 그 문서를 읽었지 만 '가치 - 텔레비전'을 넣을 수는 없다는 것을 알았습니다. 전에'values-tv'를 시도했습니다. 나에게 상기시켜 줘서 고마워. – parohy

관련 문제