0

とは異なり、カスタムActionProviderを実装しましたShareActionProvider。ただし、 には存在しないテキスト ラベルを含めたため、少し幅が広くなっていますShareActionProvider

SHOW_AS_ACTION_IF_ROOM通常のアクション アイテム ( とを含む) は、縦向きの構成では単なるアイコンSHOW_AS_ACTION_WITH_TEXTとして表示され、横向きの構成ではラベル付きのアイコンとして、Galaxy Nexus フォンのアクション バーに表示されることに気付きました。構成が異なると、この状況は異なる可能性があると思います。私のカスタム追加ラベルの意図は同じです。

ActionProvider私の、より具体的には と同等の がActivityChooserViewラベルを表示するかどうかをコードでチェックインするにはどうすればよいですか? おそらく大部分がActionMenuPresenter. 縦向きや横向きを確認するだけの安全な近道はありますか? それとも何らかの方法で通知できますか?


おまけの質問として、はSHOW_AS_ACTION_IF_ROOMアクション アイテムの幅ではなく、アクション アイテムの数に基づいているようです。どのActionProviderビューもすでに非常に広いため、タイトルを入れる余地はありませんが、他のアクション アイテム ( SHOW_AS_ACTION_IF_ROOM) はオーバーフロー メニューに移動されません。私のカスタムは一部のデバイスでも幅の 50% よりわずかに大きくなりますが、これは?ActionProviderのルールだと思いました。ActionMenuPresenterどうすれば、これを (高レベルで) 動的に制御できるようになりますか?

4

1 に答える 1

0

mAllowTextWithIconうーん、(https://github.com/android/platform_frameworks_base/blob/master/core/java/com/android/internal/view/menu/ActionMenuItemView.java)で使用しActionMenuItemViewて、AOSPの構成をコピーできる可能性がありますそのためのリソース構造。

于 2012-12-28T03:09:56.143 に答える