2012-09-15 2 views
1

최근 XML 항목을 통해 Android 버튼 스타일을 에뮬레이트하는 솔루션을 발견했습니다. 문제는 필자가 사용하는 각 단추마다 다른 xml 파일을 만들어야한다는 것입니다. 16 개 이상의 버튼이있는 페인팅 응용 프로그램을 만들고 있습니다. XML 항목을 스타일, 드로어 블 및 다른 항목에 포함하여 모든 파일을 하나의 파일로 유지할 수있었습니다. 디버깅하려고 할 때 "오류 : XML 구문 분석 중 오류 : 언 바운드 접두사"가 계속 표시됩니다. 나는 안드로이드 프로그래밍 장면에 아주 익숙하다. 그리고 이것은 자바로 작성한 첫 번째 앱이다. (내 애플 리케이션을 계획하는 MIT 애플 발명가 소프트웨어를 사용하고 있습니다. 디자인, 간단한 코딩 및 정렬). 여기 제 스타일이 있습니다. (참고 :이 전체 XML 파일이 아닌, 내 버튼에 사용하는 바로 XML을Android XML 여러 XML 파일을 1에 포함하기

<style name="test"> 
    <item android:state_pressed="true"> 
     <shape> 
      <gradient 
       android:startColor="@color/yellow" 
       android:endColor="@color/gold" 
       android:angle="270" /> 
      <stroke 
       android:width="3dp" 
       android:color="@color/grey5" /> 
      <corners 
       android:radius="3dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 

    <item android:state_focused="true" > 
     <shape> 
      <gradient 
       android:endColor="@color/gold" 
       android:startColor="@color/black" 
       android:angle="270" /> 
      <stroke 
       android:width="3dp" 
       android:color="@color/grey5" /> 
      <corners 
       android:radius="3dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 
    <item>   
     <shape> 
      <gradient 
       android:endColor="@color/blue" 
       android:startColor="@color/lime" 
       android:angle="270" /> 
      <stroke 
       android:width="3dp" 
       android:color="@color/grey5" /> 
      <corners 
       android:radius="3dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 
</style> 

을 그가 (마이너스 스타일 태그)의 배경 속성으로 자신의 파일 안에 넣어 사용하는 경우. 버튼을 사용하면 잘 작동하지만 더 이상 작동하지 않는 스타일에 '포함'되면 더 이상 작동하지 않습니다. 모든 버튼 구성을 하나의 파일에 넣을 수있는 간단한 솔루션이 있습니까?

답변

0

귀하가 게시 한 스타일)을 선택하고 해당 부모 스타일을 확장하는 데 필요한 다른 스타일을 정의하십시오.

<style name="yourChildStyle" parent="yourParentStyle"> 
... Here go attributes specific to your child style 
</style> 
+0

부모 스타일이 올바르게 구문 분석한다면 매우 잘 작동 할 것입니다. 나는 부모 스타일 (내가 게시 한 것)을 올바르게 파싱 할 수 없다. – Tuxprogrammer

관련 문제