カスタムのActionBarを実装していますが、オーバーフローメニュー(ここでは3ドットのアイコン:http://developer.android.com/images/ui/actionbar.png)をどのように処理すればよいですか?ハードウェアメニューボタンがない場合、オーバーフローメニューが表示されるはずですが、どうすれば検出できますか?カスタムアクションバーとオーバーフローメニュー
私はカスタマイズされた動作が必要なので、システムActionBarを使用していません。
カスタムのActionBarを実装していますが、オーバーフローメニュー(ここでは3ドットのアイコン:http://developer.android.com/images/ui/actionbar.png)をどのように処理すればよいですか?ハードウェアメニューボタンがない場合、オーバーフローメニューが表示されるはずですが、どうすれば検出できますか?カスタムアクションバーとオーバーフローメニュー
私はカスタマイズされた動作が必要なので、システムActionBarを使用していません。
ViewConfiguration.get(context).hasPermanentMenuKey()
メニューボタンはsomewhat outdatedです。オーバーフローメニューを再検討したいと思いますか?そして、ところで、あなたはhttp://actionbarsherlock.com/を知っていますか?
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}
}
このコードをonCreateメソッドの内部で使用します。 –
アンドロイド4.0アクションバーは、HWのメニューボタンを持っているデバイス上のオーバーフローメニューを非表示になります。私はこの振る舞いをエミュレートしたい。私はシステムのActionBarやActionBarSherlockを使用することはできません。なぜなら、ABSでは実現できない非常に特殊な動作が必要なためです。 – fhucho
OK、ちょうどあなたがABSをフォークし、その上にあなたの特定の動作を実装できると思った。あなたはまだアンドロイドのソースをチェックしましたか? –
いいえ、しかし私はそれを試みます:) ABSをフォークすることは多くの仕事のようです... – fhucho