ActionBarSherlockを使用しています。特定のユーザー操作に応じて、アクションバーに2つのボタンを表示できるようにしたいと思います。ユーザーの操作は、アクションバーとはまったく関係ありません。ボタンの可視性は、メソッドを呼び出すことによって制御する必要があります。また、これらのボタンをクリックしたときの応答は、私自身のアプリケーションコードによって処理されます。
ボタンは、ここandroid:showAsAction="ifRoom|withText"
に示すように、を使用してメニュー項目をアクション項目として定義するときに作成されるボタンと同じように見えるのが理想的です。
私の問題は、私が知る限り、標準ActionBar
APIには、アクションアイテムボタンを自由に表示または非表示にするメカニズムがないことです。メニューアイテムを定義できるonCreateOptionsMenu()
のは、もちろんシステムによって呼び出されるときだけです。
私の信念は、このようなボタンを追加して自由に表示/非表示にする唯一の方法は、それらのカスタムレイアウトを作成し、.setCustomView()
それらをアクションバーに配置することです。人々は一般的にそれに同意しますか、それとも私が見逃したものがありますか?
を使用する場合は.setCustomView()
、ActionBarSherlockが属性を持つメニュー項目に対して表示するアクション項目ボタンと同じようにボタンを表示したいと思いますandroid:showAsAction="ifRoom|withText"
。これを行うために、ActionBarSherlockライブラリ内のどの特定のテーマ、スタイル、またはレイアウトを使用する必要があるかを誰かにアドバイスできますか?私はすでにを使用しようとしましたが、このレイアウトを膨らませようとすると、レイアウトに含まれているを膨らませようとすると、にR.layout.abs__action_menu_item_layout
関連する例外が発生します。colorStateList
CapitalizingButton