2011-11-22 16 views
5

の中にActionBarのロゴを変更する方法はありますか?Android ActionBarにプログラムで表示されるロゴを変更する

ImageViewを使用してActionBarのような左隅のランチャーアイコンを使用して、同様のタイプのバーを上に作成する携帯電話用のアプリがあります。

また、ユーザーはその画像を電話またはインターネット上の画像に変更することもできます。私は現在、タブレット用のアプリを作っていますが、その代わりにActionBarを使用したいのですが、ユーザーに基づいて画像を変更する方法を理解できません。 ActionBarクラスにメソッドがありません。リソースからアイコンやロゴを変更する方法が見つかりませんでした。

これが可能か、私が試すことができるものがあれば誰でも知っていますか?

答えて

10

API14は、setIconおよびsetLogoの方法を導入した。

11〜13と同様に、は簡単です。

カスタムナビゲーションを使用して、独自のレイアウトでその機能を模倣することで、通常のアイコンやロゴを非表示にすることができます。

使用する代替レイアウトリソースを指定することができますが、それが瞬時に膨張時に内部クラス(bug #21842)にキャストされているので、それは常にClassCastExceptionをスローしますアクションバーのスタイルでhomeLayout属性があります。

+3

この属性は公開されませんでした。おっとっと。 :) – adamp

12

ジェイクは言及setIconsetLogoメソッドのAPI 14で導入する前に、あなたはandroid.R.id.homeのビューをつかみ、新しい描画可能に設定することで、アクションバーのロゴを変更することができるように思われます。

ImageView logo = (ImageView) findViewById(android.R.id.home); 
logo.setImageDrawable(drawable); 
関連する問題