ActionBar上のメニューボタンが表示されない端末がある

1,804 views
Skip to first unread message

Mitsuaki Ishimoto

unread,
Feb 5, 2013, 6:52:51 PM2/5/13
to android-g...@googlegroups.com
いつもお世話になっております。

表題の件なのですが
Android4系で本体に(物理)メニューボタンがある一部の端末で
ActionBar上の一番右側に表示されるはずである「その他」のメニューボタン(ic_action_overflow)が表示されない端末があるようでして困っております。

通常では以下の場合に表示されるその他のメニューです。
正方形の■が3つ縦にならぶアイコンのメニューです(正式名称なんていうんでしょう...)

* メニューが表示しきれなかった場合
android:showAsAction="never"のメニューがあった場合

再現する端末

手元にありませんで確実ではないのですがレビュー欄でそういった報告を頂いた端末は下のようになってます。

* PANTONE 5 SoftBank 107SH
* ARROWS Z ISW13F


以下が質問になります

1. 下のようにvisibilityを上書きするなどの方法で物理メニューボタンがある端末でもActionBar上にその他のメニューを表示する事が可能でしょうか?
    <style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
        <item name="android:src">@drawable/ic_action_overflow</item>
        <item name="android:visibility">visible</item>
    </style>

2. 諦めるしかないでしょうか?


どうぞよろしくお願いいたします。

Hiroaki GOTO as GORRY

unread,
Feb 6, 2013, 1:14:58 AM2/6/13
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

むしろ逆で、「物理メニューボタンがない端末では、アクションバー右端に
ソフトメニューボタンが追加される」という解釈をされたほうがよいかと
思います。


In message <daf65a5e-33b4-4b26...@googlegroups.com>
"[android-group-japan: 21904] ActionBar上のメニューボタンが表示されない端末がある"
"Mitsuaki Ishimoto <griffith100...@gmail.com>" wrote:

> いつもお世話になっております。
>
> 表題の件なのですが
> Android4系で本体に(物理)メニューボタンがある一部の端末で
> ActionBar上の一番右側に表示されるはずである「その他」のメニューボタン(ic_action_overflow
> )が表示されない端末があるようでして困っております。
>
> 通常では以下の場合に表示されるその他のメニューです。
> 正方形の■が3つ縦にならぶアイコンのメニューです(正式名称なんていうんでしょう...)
>
> * メニューが表示しきれなかった場合
> * android:showAsAction="never"のメニューがあった場合
>
>
> *再現する端末*
>
> 手元にありませんで確実ではないのですがレビュー欄でそういった報告を頂いた端末は下のようになってます。
>
> * PANTONE 5 SoftBank 107SH
> * ARROWS Z ISW13F
>
>
>
> *以下が質問になります*
>
> 1.
> 下のようにvisibilityを上書きするなどの方法で物理メニューボタンがある端末でもActionBar上にその他のメニューを表示する事が可能でしょうか?
> <style name="OverFlow"
> parent="@android:style/Widget.Holo.ActionButton.Overflow">
> <item name="android:src">@drawable/ic_action_overflow</item>
> *<item name="android:visibility">visible</item>*
> </style>
>
> 2. 諦めるしかないでしょうか?
>
>
> どうぞよろしくお願いいたします。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>



--
Hiroaki GOTO as "GORRY" : 後藤 浩昭
EMAIL: gorr...@gmail.com

Makoto Yamazaki

unread,
Feb 6, 2013, 4:09:13 AM2/6/13
to android-g...@googlegroups.com
zaki です。

無理やり表示できるかどうかは試していただくのが早い(私はやったことがないので)
とおもうので置いておきますが、この挙動自体は仕様だと思います。

http://developer.android.com/guide/topics/ui/actionbar.html

Menu items that are not promoted to an action item are available in
the overflow menu, revealed by either the device Menu button (when
available) or by an "overflow menu" button in the action bar (when the
device does not include a Menu button).
とあります。最後の部分を訳すと
「(メニューボタンを持たない端末では)アクションバーのオーバーフローメニューボタン
からオーバーフローメニューが表示される」となっています。

端末がメニューボタンを持っているかどうかは
http://developer.android.com/reference/android/view/ViewConfiguration.html#hasPermanentMenuKey()
で調べることができるので、これで判定してコードからなんとかすることは
できるかもしれません。

一つ注意点というか気になることがあるので書いておきます。
HTC J(ISW13HT) が 4.0.3 から 4.0.4 にアップデートされた際に
Recent Apps のキーを menu キーとして使えるようにする設定が
追加された(http://ascii.jp/elem/000/000/733/733977/)のですが、
この設定を使って menu キーを使えるようにした場合でも
hasPermanentMenuKey() は false を返した記憶があります。
ActionBar 上のオーバーフローメニューボタンの表示/非表示も
たぶん hasPermanentMenuKey() と連動していると思うので問題にはならないと
思いますが、念のため確認することをお勧めします。



2013/2/6 Mitsuaki Ishimoto <griffith100...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>



--
YAMAZAKI Makoto

Mitsuaki Ishimoto

unread,
Feb 6, 2013, 4:22:23 AM2/6/13
to android-g...@googlegroups.com
なるほど。
周りにあった4系の端末が全てメニューボタンなかったので勘違いしておりました。
物理メニューボタンを備えた端末かどうかAPIで叩けるかちょっと調べてみたいと思います。
ありがとうございます!!


2013年2月6日水曜日 15時14分58秒 UTC+9 GORRY:

後藤 浩昭(GORRY)です。

むしろ逆で、「物理メニューボタンがない端末では、アクションバー右端に
ソフトメニューボタンが追加される」という解釈をされたほうがよいかと
思います。


> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

Mitsuaki Ishimoto

unread,
Feb 6, 2013, 4:29:11 AM2/6/13
to android-g...@googlegroups.com
ありがとうございます!
物理メニューキーの保持判定のAPIがあったんですね。
ちょっと試しにやってみようと思います!


2013年2月6日水曜日 18時09分13秒 UTC+9 zaki:
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
Reply all
Reply to author
Forward
0 new messages