2011-09-25 6 views
3

tl; dr : 앱 테마의 흰색 텍스트 스타일이 검색 대화 상자에서 선택되어 검색 텍스트가 보이지 않습니다.안드로이드 스타일링/테마 검색의 테마 변경

저는 사소한 문제처럼 힘들어하고 있습니다.

내 앱이 어두운 배경을 사용 중이고 #EEEEEE를 사용하여 표준 회색보다 밝게 텍스트 색상을 조정했습니다.

검색 대화 상자 (Honeycom 이전)를 구현했지만 제대로 작동하지만 검색 대화 상자의 텍스트가 #EEEEEE를 선택하므로 본질적으로 보이지 않습니다. 검색 텍스트를 길게 누르면 표시되는 컨텍스트 메뉴조차도 #EEEEEE를 선택하므로 거기에는 텍스트도 보이지 않습니다.

나는 머리카락을 찢어 내고 있고, 머리카락이 부족합니다.

스타일 :

<style name="master" paret="@android:style/Theme.NoTitleBar"> 
    <item name="android:textColor">#EEEEEE</item> 
    <item name="android:windowNoTitle">true</item>   
</style> 

매니페스트 :

<application android:icon="@drawable/icon" 
      android:label="@string/app_label" 
      android:theme="@style/master" 
      android:hardwareAccelerated="true" 
      android:debuggable="true"> 
+0

사용하는 다른 색? –

+0

안녕하세요 @YashwanthKumar, 내 앱에서 밝은 색상을 원하고 검색 창의 어두운 색상을 원합니다. 나는이 모든 것을 보아 왔으며, 스스로 어떻게해야 할지를 알 수 없다. –

답변

5

속성 android:textColor은 테마 스타일 내에서 사용하기위한 것이 아니며 주로 위젯 및 텍스트 모양 스타일에서 유용합니다.

테마를 통해 일반 텍스트 색을 변경하려면 android:textColor* 속성 집합 대신 테마를 사용하십시오. 꽤 많은 것들이 있고, 다른 뷰는 그것들을 다르게 사용하기 때문에, 그것을 제대로하기 위해 약간의 실험 (또는 안드로이드 소스 코드의 신중한 연구)이 필요합니다. android.R.attr 설명서에 모두 나와 있습니다. textColor...으로 시작하는 속성을 찾으십시오.

이 테마를 사용해보십시오. 원하는대로 보이는 검색 대화 상자 색상에 전혀 영향을 미치지 않아도됩니다. 그건 그렇고, 당신은 당신의 부모 테마로 테마에 trueandroid:windowNoTitle를 설정할 필요가 없습니다은 이미 않는 다음 텍스트 색상에 대한

<style name="master" parent="@android:style/Theme.NoTitleBar"> 
    <item name="android:textColorPrimary">#EEEEEE</item> 
    <item name="android:textColorSecondary">#EEEEEE</item> 
    <item name="android:textColorTertiary">#EEEEEE</item> 
</style> 
+3

예! 내 장남 마틴을 지명 할거야. –

+1

마찬가지로 나는! 같은 문제, 도움이되는 대답에 대해 너무 고마워. – Konklone

0

내가 당신과 같은 문제에있어. 주위를 둘러 보았지만 대화 상자의 textColor를 변경할 수없는 것 같습니다. 내 솔루션은이 자습서를 기반으로 사용자 지정 대화 상자를 만들었습니다. http://blog.androgames.net/10/custom-android-dialog/

나는이 방법을 안드로이드 소스 코드를 기반으로 확장했으며, 항상 같은 메서드 이름 등을 사용하여 조금 더 쉽게 만들었습니다.

이 이상하지만, 지금까지 내가 ... 그것이 최선의 선택입니다

편집을 알고되지 않습니다 : 주제에 텍스트 색상을 추가하는 듯했으나 넣지 마십시오 : 당신의 문제에 대한 간단한 해결책이있을 수 있습니다 스타일로. 나는 당신이 당신의 앱을 어떻게 스타일하고 있는지 알지 못한다. 그러나 나는 보통 다른 사람들이 (직접 또는 간접적으로) 상속하는 "마스터 스타일"을 만들고있다. 거기에 textColor를 넣으면 모든 표준 대화 상자에 표준 textColor가 유지됩니다.