2011-03-24 4 views
4

내 styles.xml 파일에 정의 된 다음과 같은 내용이 있습니다 (아래 참조). 그러나 안드로이드는 @ string/fontExtraLarge를 사용하기 때문에 충돌합니다. 나는 그것이 정의의 순서 때문이라고 가정하고 있지만 이것은 합법적이다.스타일 정의 내에서 @string 리소스 사용

이 문제를 해결하기 위해 'parent'속성을 사용할 수는 있지만 하나의 스타일 정의만으로는 의미가 없습니다. 이 문제를 해결할 방법이 있습니까?

사실, 내가 얻을 수있는 오류는 layout.XML을 가리키는 XML을 팽창시킬 수 없지만 실제로이 파일이이 문제의 원인입니다.

<!-- **** FONT SIZES **** --> 
<string name="fontExtraLarge">20sp</string> 
<string name="fontLarge">18sp</string> 
<string name="fontMedium">16sp</string> 
<string name="fontSmall">10sp</string> 
<string name="fontNormal">10sp</string>' 

<style name="screenHeader"> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:typeface">serif</item> 
    <item name="android:textSize">@string/fontExtraLarge</item> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:gravity">center</item> 
</style> 

답변

3

당신은 dimens.xml 파일을 사용해야합니다 다음은 @ DIMEN/yourDimensionName

More details here

+0

감사합니다. [http://developer.android.com/resources/samples/SoftKeyboard/res/values-land/dimens.html]http://developer.android.com/resources/samples/SoftKeyboard/res/values-land/ dimens.html) – Salsero69

0

모든 문자열은 res/values ​​/ strings.xml 안에 있습니다.

또한 모든 스타일 태그는 <resources/> 태그로 묶어야합니다. 차원이

값에 대한

+0

1) 나는 styles.xml에 정의 된 문자열과 값으로 시도 참조 .xml 파일을 변경하지 마십시오. 2) 내 정의와 관련된 리소스 태그가 있습니다. 내 응용 프로그램이 문자열 정의없이 작동합니다. 따라서 문법적 인 문제는 아닙니다. 스타일 정의 내에서 @string을 사용하는 것은 엄격하게 문제입니다. – Salsero69

+0

제 잘못입니다. 문자열 값을 차원으로 설정하는 것을 보지 못했습니다. – Abhinav

관련 문제