2013-03-25 3 views
0

Android 기기에서 HoloEverywhere 라이브러리를 사용하여 지원되는 모든 장치에서 일관된 테마를 유지합니다. 그러나 Holo.Theme.Dialog를 사용하는 활동에 문제가 있습니다. Android 2.2 에뮬레이터에서 올바르게 표시되지만 Android 4 기기 (실제 Holo 테마를 사용할 수 있음)에서 레이아웃은 오른쪽 항목을 잘라냅니다. 대화 상자의 가장자리.HoloEverywhere를 사용하여 대화 상자 활동으로 레이아웃이 자름

내 질문은 HoleEverywhere 대신 주식 홀로 테마가있는 장치를 강제로 사용할 수 있습니까?? 또는 HoloEverywhere를 수정하여 Android 4+ 기기에서 대화 상자가 올바르게 표시되도록 스타일을 지정하려면 어떻게해야합니까??

스크린 샷 :이 버그는 HoloEverywhere 고정 여부,하지만 내 솔루션은 AlertDialogs 내 대화 활동의 모든 클래스를 변경하는 것이었다 된 경우

Dialog in Android 4+

Dialog in Android 2.2

+0

에 포함? – Ahmad

+0

대화 상자는 내 매니페스트에서 Holo.Theme.Dialog 테마가 적용된 활동 일뿐입니다. HoloEverywhere를 추가하기 전에는 정상적으로 작동했습니다. –

+0

그래서 문제를 해결 했나요? – deadfish

답변

1

잘 모르겠어요 . 일부 코드 변경이 필요했지만 지금은 대화 상자가 제대로 보이고 예상대로 작동하는지 확인할 수 있습니다.

0

여기에 당신이 할 필요가 무엇 : 당신의 가치 폴더에서

  1. 가, 부모로 Holo.Theme를 참조 styles.xml 파일의 스타일을 만들 수 있습니다. 내 경우, 나는 당신이 당신의 활동 및 응용 프로그램 태그에이 스타일을 참조하고 있는지 확인 매니페스트에서

    <style name="AppBaseTheme" parent="Holo.Theme.Light"></style> 
    
  2. AppBaseTheme

    을 사용했다. (이미 존재하지 않는 경우)
    <application 
        ... 
        android:theme="@style/AppBaseTheme" > 
    
  3. 다른 styles.xml 파일을 작성하여 고해상도 폴더 이름 값-11의 폴더를 만듭니다.

  4. 복사하기 이전에 값 폴더에 저장하지만,이 홀로 테마에 내장 참조하는 같은 스타일은 어떻게 대화를 스타일이나 방법에 그것을 만들 수 있습니까 4.0

    <style name="AppBaseTheme" parent="android:Theme.Holo.Light"></style> 
    
+0

미안하지만 여기서는 어떤 해결책도 보이지 않습니다. – deadfish

+0

간단히 말하면 앱은 AppBaseTheme을 테마로 사용하지만 AppBaseTheme의 부모는 앱의 OS 버전에 따라 변경됩니다 에서 실행됩니다. OS 버전이 11 이상인 경우 값 -11 res 폴더에있는 항목이 사용됩니다. 값 -11에서 AppBaseTheme의 부모는 android : Theme.Holo.Light입니다. 응용 프로그램이 OS 버전 11 이상에서 실행되지 않으면 값 res 폴더의 내용이 대신 사용됩니다. 값에서 AppBaseTheme의 부모는 Holo.Theme.Light입니다. – Neilers

관련 문제