2017-10-22 16 views
0

내 앱에서 소재 디자인 테마를 사용하며 API가 21보다 많고 같은 문제가 없습니다. API를 사용하여 해결할 수없는 몇 가지 중요한 문제가 있습니다.AppCompat 버튼 : API에 대한 배경 항상 흰색 <

API의 경우 < 21 AppCompat 테마를 사용하여 재질 테마 효과를 얻습니다.

<ImageButton 
     android:id="@+id/buttonShare" 

     android:layout_width="match_parent" 
     android:layout_height="60dp" 

     android:layout_alignParentBottom="true" 

     android:src="@drawable/share"  
     android:theme="@style/StandartButton" 
     style="@style/Widget.AppCompat.Button.Colored" 
     /> 

그리고 style.xml 파일 :

<style name="AppBaseTheme" parent="Theme.AppCompat.Light"> 
     <item name="android:buttonStyle">@style/StandartButton</item> 
    </style> 

    <style name="StandartButton" parent="ThemeOverlay.AppCompat"> 
     <item name="colorButtonNormal">@color/blue</item>    
    </style> 

결과 :

enter image description here

내가 추가하지 않은

그리고는 버튼의 예에서보기를 할 수 있습니다 styles-v21은 거의 동일한 공동 작업으로 올바른 스크린 샷으로 작동합니다. 드.

그래서 어떤 아이디어를 어떻게 이전 API를 사용하여 문제를 해결할 수 있습니까?

+0

추가 '<항목 이름 = "안드로이드 : colorButtonNormal"> @ 색상/블루' –

+0

안드로이드는 : colorButtonNormal는 API 레벨 21를 반드시 무엇을 의미합니까 이해하지, @IntelliJAmiya – tadvas

+0

(현재 분 16)가 필요합니다. ImageButton 대신 Button을 사용해야합니까? 또한 스타일을 사용하지 말고 테마 만 사용 하시겠습니까? – tadvas

답변

0

스타일을 가지고 노는 올바른 솔루션을 찾지 못했습니다 (아마도 AppCompat 버그입니다). 이것이 바로 해결 방법 수정이 필요한 이유입니다.

layout-v21 폴더를 추가하면 버튼이 재질 테마의 스타일을 나타냅니다. 현재 layout 폴더에 background을 설정하십시오.

일시적 수정 일 수 있습니다.