0

よくある質問ですが、しばらくグーグルした後、私が欲しいものに適切なAndroidの用語がわからないようで、行き詰まっています。

ビューに関連付けられたメインポップアップメニューを操作する方法を知りたいです...つまり、何もしていないアクティビティに座って電話のメニューキーを押した場合、そのメニューを操作する方法通常、「設定」、「終了」などを含む多くのアプリで開きます。

これが何と呼ばれるかはわかりませんが、誰かがSDKの適切な部分を教えてくれるなら、それはありがたいです。また、Eclipse ADTプラグインのコンテキスト内でこのメニューを操作する方法を誰かが知っているなら、それも素晴らしいことです。

乾杯。

4

4 に答える 4

1

それは単にメニューと呼ばれています。 これがあなたが始めるためのチュートリアルです。3.0以降では状況が少し奇妙になりますが、基本を理解すれば、理解するのはそれほど難しくないはずです。

于 2012-09-21T18:50:42.003 に答える
1

3.0より前のバージョンでは、これらはメニューです。Androidの最新バージョンでは、メニューがActionBarに置き換えられています。

メニューについて:http://developer.android.com/guide/topics/ui/menus.html

メニューに関するチュートリアル:http ://www.androidhive.info/2011/09/how-to-create-android-menus/

于 2012-09-21T18:50:43.680 に答える
1

例を見てください:

アクティビティ:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.SettingsMenuItem:
        startActivity(new Intent(this, SettingsActivity.class));
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}   

xml内:(/res/menu/menu.xml内)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/SettingsMenuItem"
        android:icon="@drawable/settings"
        android:title="@string/settings"/>
</menu>
于 2012-09-21T18:53:49.037 に答える
1

CaseyBが言うように、それは単にメニューと呼ばれています。

これを使用するためのクイックスタートとして、eclipseプロジェクトのresフォルダーにサブフォルダーを作成し、それを「menu」と呼び、ビューのxmlを追加し、onCreateOptionsMenu関数からMenuInflatorを呼び出すことができます。

わかりました、それは少し混乱するかもしれません、それで私はあなたが始めるべきであるいくつかのサンプルコードを含めました。このコードは、メニューボタンを押したときに、ロードする2つの新しいアクティビティのいずれかを選択できるようにする必要があります。

メインアクティビティに以下を追加します。

import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }
// Define whatever other activities you can to load in here or whatever. 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.info:
            startActivity(new Intent(this, Info.class));
            break;
        case R.id.logs:
            startActivity(new Intent(this, Logs.class));
            break;
        }
        return true;
    }

menu.xmlファイル:必要なアイコン画像にリンクします。

<?xml version="1.0" encoding="utf-8"?>
<!-- -->
<!--  Copyright © 2012 Tutela Technologies Ltd. -->
<!--  All Rights Reserved. -->
<!-- -->
<menu
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:id="@+id/info" 
        android:icon="@drawable/ic_menu_info_details"
        android:title="Info"></item>
    <item 
        android:id="@+id/logs" 
        android:icon="@drawable/ic_menu_report_image"
        android:title="Logs"></item>

</menu>

次に、AndroidManifest.xmlで、新しいアクティビティを追加することを忘れないでください。

    <activity 
        android:name="com.whatever.Gui.Info" 
        android:label="@string/appTitle">
    </activity>
    <activity 
        android:name="com.whatever.Gui.Logs" 
        android:label="@string/appTitle">
    </activity>

注:この例では、ラベルはstrings.xmlで定義されています

<string name="appTitle">Your App name</string>

これがお役に立てば幸いです。

乾杯

于 2012-09-21T19:00:21.877 に答える