2014-04-02 75 views
2

是否可以在不使用自定義視圖的情況下向標準操作欄標題添加複合可繪製(類似drawableLeft的東西)?複合可繪製的ActionBar標題

Atm我使用SpannableString作爲標題(爲了使用自定義字體)。如果我不能設置一個compund drawable,那麼可以使用我可以附加到SpannableString的ImageSpan?

Thx

+0

你有什麼問題? – pskink

回答

1

是的,絕對。這裏有一個簡單的例子:

final int abTitleId = getResources().getIdentifier("action_bar_title", "id", "android"); 
    final TextView abTitle = (TextView) findViewById(abTitleId); 
    abTitle.setCompoundDrawablesWithIntrinsicBounds(R.drawable.your_icon, 0, 0, 0); 
+1

就像一個魅力。 Thx – pumpkee

+0

與Android L決裂 – pumpkee

0

感謝adneal的答案,但它不與Android棒棒糖工作,我發現按照他的方法的解決方案。它缺乏標準化,但效果很好。

ViewGroup actionViewGroup = (ViewGroup) findViewById(getResources().getIdentifier("action_bar", "id", "android")); 
if (actionViewGroup != null && actionViewGroup.getChildCount() > 0) { 
    View view = actionViewGroup.getChildAt(0); 
    if (view instanceof TextView) { 
     TextView tv = (TextView) view; 
      tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_test, 0, 0, 0); 
    } 
}