右下に表示されるOptionsMenuを明示的に非表示にする方法

865 views
Skip to first unread message

TERADA Naokazu

unread,
Sep 13, 2012, 11:59:29 AM9/13/12
to android-g...@googlegroups.com
寺田と申します。
お世話になります。

Android 4.x で、特にonCreateOptionsMenuなどを実装していない場合でも、
勝手に右下に表示されるオプションメニューを隠したくて方法を探しております。

こちらの記事を参考に、マニフェストファイルにtargetSdkVersionを14以上に指定することで、確かにメニューを消すことができました。
ただ、私の環境ではこの方法で他の問題が生じてしまうため、別の方法を探しています。
解決法をご存知の方、何かアイデアをお持ちの方、いらっしゃいましたらご教授いただけないでしょうか?

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

m(_ _)m

Makoto Yamazaki

unread,
Sep 13, 2012, 6:58:18 PM9/13/12
to android-g...@googlegroups.com
zaki です。

targetSdkVersion を大きくした時に発生する「他の問題」を解決するほうが前向きかなという気も
したのですが、具体的にどのような問題が発生するのでしょうか。


2012/9/14 TERADA Naokazu <naokazu...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/7Je9BOzs5VQJ
> にアクセスしてください。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。



--
YAMAZAKI Makoto

TERADA Naokazu

unread,
Sep 13, 2012, 9:26:24 PM9/13/12
to android-g...@googlegroups.com
zakiさま

ご返答ありがとうございます!
確かに、おっしゃる通りですね。もう少し、状況を説明させていただきます。

<targetSdkVersionを指定して生じる問題>
今開発中のアプリはPhonegap(cordova)とSenchaTouch1.1を使っています。
targetSdkVersionを高く設定すると、HTML canvasを使って実装しているUIの部分で、(今のところ原因不明の)不具合が生じてしまいます。
これまでは、UI部分に関してはPCブラウザのChromeとそのDevelopperToolsで開発を進めてきたのですが、こちらではこの不具合はありません。
実機(もしくはエミュレータ?未確認です)上でのみ見られる不具合のため、原因究明がとてもしづらく、
targetSdkVersion以外の解決方法があればそちらの方が確実だと思った次第です。

PhonegapはWebViewを生成し、その上でSenchaが動いているので、
おそらくSDK14からWebViewの仕様が変わり、それが原因なのではないかと憶測はしているのですが、
その辺りのまとまった情報も見つけられず、困っています。


<なぜOptionsMenuキーを消したいか>
GalaxyNexus等、ホームキーなど3つ標準ボタンの横に追加されるメニューキーでしたら、問題はないのですが、
HTC Jでは、標準キーがハードキー(といっていいのでしょうか?)のためメニューキーがその上にまるまる一段占領する形で表示されます。
この機種ですと、不特定のタイミングでPhonegapのWebViewとメニューキーが重なり、
Senchaで作ったUIが隠れてしまう問題が発生したため、OptionsMenuキーを非表示にしたいと考えております。


以上です。
何か、アドバイスいただけるとありがたいです。
よろしくお願いいたします。

寺田



2012年9月14日金曜日 7時59分05秒 UTC+9 zaki:
zaki です。

targetSdkVersion を大きくした時に発生する「他の問題」を解決するほうが前向きかなという気も
したのですが、具体的にどのような問題が発生するのでしょうか。


2012/9/14 TERADA Naokazu <naokazu...@gmail.com>:
> 寺田と申します。
> お世話になります。
>
> Android 4.x で、特にonCreateOptionsMenuなどを実装していない場合でも、
> 勝手に右下に表示されるオプションメニューを隠したくて方法を探しております。
>
> こちらの記事を参考に、マニフェストファイルにtargetSdkVersionを14以上に指定することで、確かにメニューを消すことができました。
> ただ、私の環境ではこの方法で他の問題が生じてしまうため、別の方法を探しています。
> 解決法をご存知の方、何かアイデアをお持ちの方、いらっしゃいましたらご教授いただけないでしょうか?
>
> どうぞ、よろしくお願いいたします。
>
> m(_ _)m
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/7Je9BOzs5VQJ
> にアクセスしてください。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com

Hirokazu Fukami

unread,
Sep 13, 2012, 9:39:08 PM9/13/12
to android-g...@googlegroups.com
こんにちはfkmです。

WebViewとAndroid 4.0以降という組み合わせで
loadDataWithBaseURL(String baseUrl, String data, String mimeType,
String encoding, String historyUrl)
を使っている場合、第一引数のbaseUrlをちゃんと指定しないとJavascript周りでエラーになる
(3.x系以前ではエラーにならない)

という問題に3ヶ月ほど前、HTC Jで遭遇していたりします。
外していたらすいません

2012/9/14 TERADA Naokazu <naokazu...@gmail.com>:
>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> > このグループから退会するには、android-group-j...@googlegroups.com
>> > にメールを送信してください。
>> > 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>> > からこのグループにアクセスしてください。
>>
>>
>>
>> --
>> YAMAZAKI Makoto
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/zUw6BlasZvMJ
> にアクセスしてください。
>
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。



--
-------------------------------------------------------------
深見 浩和(Hirokazu Fukami)

URI:http://www.fkmsoft.jp
email: f...@fkmsoft.jp

TERADA Naokazu

unread,
Sep 13, 2012, 11:01:32 PM9/13/12
to android-g...@googlegroups.com
fkmさま

情報ありがとうございます!

まず、Cordovaのバージョンを書いておりませんでした。すみません。
Cordova1.7.0を使っています。

こちらで入手したソースコードを見る限りでは、loadDataWithBaseURLという関数は使っていないようですし、
ログにも特にエラーは出ていないので、直接の原因ではなさそうですが、そんなことがあるんですね。
見つけにくそうなところなので、教えていただいて良かったです。
頭に入れておきます!

寺田


2012年9月14日金曜日 10時39分29秒 UTC+9 fkm:
>> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> > このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com
>> > にメールを送信してください。
>> > 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>> > からこのグループにアクセスしてください。
>>
>>
>>
>> --
>> YAMAZAKI Makoto
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/zUw6BlasZvMJ
> にアクセスしてください。
>
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com

Makoto Yamazaki

unread,
Sep 14, 2012, 12:06:37 AM9/14/12
to android-g...@googlegroups.com
zaki です。

そのあたりで関係しそうなものといえば、ハードウエアアクセラレーションでしょうか。

targetSdkVersion を 14 にして、AndroidManifest.xml の application タグに
android:hardwareAccelerated="false" と書いたら HTML canvas の不具合は
なくなったりするでしょうか。もしこれで不具合が出なくなるのであれば
ハードウエアアクセラレーションがらみなのですがどうでしょう。
targetSdkVersion が 7 であればハードウエアアクセラレーションは効いて
いないと思うのでパフォーマンスが悪化することはないと思います。

もしこれで解決するのであれば、上記のアプリケーション全体での無効化ではなく
Activity や View 単位での無効化にするほうが望ましいかもしれません。

詳しくは http://developer.android.com/guide/topics/graphics/hardware-accel.html
を参照してください。


2012/9/14 TERADA Naokazu <naokazu...@gmail.com>:
>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> > このグループから退会するには、android-group-j...@googlegroups.com
>> > にメールを送信してください。
>> > 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>> > からこのグループにアクセスしてください。
>>
>>
>>
>> --
>> YAMAZAKI Makoto
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/zUw6BlasZvMJ
> にアクセスしてください。
>
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com

TERADA Naokazu

unread,
Sep 14, 2012, 3:49:26 AM9/14/12
to android-g...@googlegroups.com
zakiさま


素晴らしい!!!
言われた通りにHardware Accelerationを切ると不具合が解消しました。
こんなにすんなり解決できるとは思いもしなかったので、もう感謝感激です!

Senchaを使っているため、Viewはひとつなのですが、
一応言われたようにメインのビューのみ設定をしておきました。
細かいところまで、アドバイスいただきありがとうございました。

非常に助かりました・・・。
ありがとうございました!

寺田


2012年9月14日金曜日 13時07分22秒 UTC+9 zaki:
>> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> > このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com
>> > にメールを送信してください。
>> > 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>> > からこのグループにアクセスしてください。
>>
>>
>>
>> --
>> YAMAZAKI Makoto
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/zUw6BlasZvMJ
> にアクセスしてください。
>
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com
Reply all
Reply to author
Forward
0 new messages