0

私はこのようなものを作成したい:ここに画像の説明を入力

これまで私がやったこと:

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.menu_layer:
        //I want to create my menu here
        break;

    case R.id.menu_direction:

        break;

    default:
        break;
    }
    return (true);
}`

それは私のメインの menu.xml です:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_layer"
      android:icon="@drawable/ic_action_search"
      android:title="@string/menu_layers"
      android:showAsAction="ifRoom|withText" />
<item android:id="@+id/menu_direction"
      android:icon="@drawable/ic_action_search"
      android:title="@string/menu_directions"
      android:showAsAction="ifRoom|withText" />
</menu>

& menu_layer をクリックした後に作成したいメニューです:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/satView"
android:icon="@drawable/ic_action_search"
android:orderInCategory="0"
android:showAsAction="always"
android:title="@string/sat_View"/>
<item
android:id="@+id/streetView"
android:icon="@drawable/ic_action_search"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/street_View"/>  
</menu>

誰でもこれで私を助けてもらえますか? 前もって感謝します。

4

1 に答える 1

1

そのマップ アプリに表示されるのは、カスタム ダイアログです。実際、完全にカスタマイズされた独自のダイアログを作成できます。アクティビティ レイアウトと同じようにレイアウトを作成します (custom_dialog.xml など)。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
>
   <TextView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="Hey!"
   />

   <ListView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
   />
</LinearLayout>

このファイルを projects /layout フォルダーに入れます。

このコードをアクティビティの onCreateDialog(int) に配置して、表示するダイアログを作成します。

Dialog dialog = new Dialog(getApplicationContext());
dialog.setContentView(R.layout.custom_dialog);

[... misc. initialization]

私はあなたの質問に簡単に答えようとしましたが、利用可能なソースがたくさんあり、Android の API ガイド はダイアログの作成とカスタマイズの方法を完全に説明しています。

于 2012-09-09T21:44:03.043 に答える