2011-12-14 4 views
1

私のアプリケーションには、そのデバイスのデフォルトの戻るボタンとメニューボタンの近くにいくつかのボタンがあります。 メニューや戻るボタンの近くにあるアプリケーションボタンを押している間に問題が発生しました。Androidアプリケーション開発ガイドラインで特定のアプリケーションのデフォルトメニューと戻るボタンを無効にすることはできますか?

このアプリケーションでは、デフォルトの戻るボタンとメニューボタンを無効にします。

Androidアプリケーション開発ガイドラインでは、特定のアプリケーションでバックとメニューボタンを無効にすることができますか? はいの場合はどうすれば可能ですか?

ありがとうございました。

+0

は、はい... onbuttondown検索次の時間を優先します。しかし、推奨されない動作です。 – Warpzit

+0

@Warpzit:私は私のアプリケーションのためにそれを実装する必要がありますか?それは良いアイデアです ? –

+1

デフォルトの動作を無効にすることは、決して良いことではありません。 – span

答えて

4

Androidアプリケーション開発ガイドラインでは、perticularアプリケーションでバックとメニューボタンを無効にすることができますか?

任意のOS(Windows版、Mac、iOS版、Androidのなど)のためのプログラミングのガイドラインは、デフォルトの動作を壊さないです。

ユーザーは、あなたのアプリケーションが使用しているデバイスのデフォルトの動作をサポートしていることが予想され、そのほとんどの理由でデバイスを購入しました。そのデバイスはデフォルトの動作を楽しんでいます。他のタイプのユーザーとのやりとりが必要だった場合は、別の種類のデバイスを購入したでしょう。

私のアプリケーションでは非常に近く、そのデバイスのデフォルトにあるいくつかのボタンは、ボタンやメニューボタンが戻ってきた

限り、あなたのボタンが画面に表示されているように、私はどのようにそれができる表示されません問題になる。しかし、それが何らかの問題である場合、デフォルトの動作を無効にするよりも、より良い解決策は、またはボタンをユーザが簡単に叩くように移動することです。

はいの場合、どのように可能ですか?

はい、できます。

は単にどんなActivityonBackPressed()問題が発生を無効にし、それが空であることのimplementaionを残して、戻るボタンを無効にするには:

public void onBackPressed() { 
    //Do nothing 
} 

メニューボタンは、唯一の問題はifyouあなたActivityからメニューを膨らませることになります。標準的な動作では、Activityに何かをさせていない限り、メニューボタンを押すと何も起こらないということです。

+0

返事をありがとう。私はボタンを動かすか、それをより大きくして有効にしようとします。返信いただきありがとうございます。 –

1

ビューを使用し、ユーザーがビュー間をナビゲートするためにオンバックを期待する場合は、デフォルトの動作fxをオーバーライドしたいことがあります。他の何か他の時、それはすべてアプリケーションに依存します。デフォルトの動作を上書きするかどうかを検討することをお勧めします。すべてのボタンに使用することができますHERESに別の例

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && (isSomething)) { 
     something(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
関連する問題