2014-03-07 3 views
1

이 코드는 styles.xml에서 사용하지만 버튼 배경은 변경되지 않습니다. 내가 잘못하고있는 곳은 어디입니까?작업 표시 줄 home 어울림 알림 배경

<style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:homeAsUpIndicator">@drawable/actionbar_buttonbg</item> 
    <item name="android:background">@drawable/actionbar_bg</item> 
</style> 

답변

1

불행히도 styles.xml을 통해 homeAsUpIndicator에 배경을 추가 할 수 없습니다. 그것은 해키

public void setHomeAsUpBackgroundResource(int resource) { 

    View abView = findViewById(R.id.action_bar); 
    if (abView != null && abView instanceof ViewGroup) { 
     ViewGroup vgAb = (ViewGroup) abView; 
     if (vgAb.getChildCount() > 0) { 
      View child = vgAb.getChildAt(0); 
      if (child != null && child instanceof ImageButton) 
       child.setBackgroundResource(resource); 
     } 
    } 
} 

: 그것은 두 가정에 의존 : 당신이 프로그래밍 방식으로 그것을 할 수 그러나

이 버튼은 작업 표시 줄의 첫 번째 자식이고하여 ImageButton의 인스턴스입니다.

0
 Hi try use in style properties actionBarItemBackground good luck 



<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:homeAsUpIndicator">@drawable/actionbar_buttonbg</item> 
    <item name="android:background">@drawable/actionbar_bg</item> 
    <item name="actionBarItemBackground">@color/backGroundHomeAsUp</item> 
    <item name="android:actionBarItemBackground">@color/backGroundHomeAsUp</item> 
</style>