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

您在该地图应用程序中看到的是一个自定义对话框。您确实可以制作自己的完全自定义的对话框。创建一个布局,就像你的 Activity 布局(比如 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>

将此文件放入项目/布局文件夹中。

并将这段代码放到 Activity 的 onCreateDialog(int) 中,您可以在其中创建要显示的对话框。

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

[... misc. initialization]

我试图简单地回答您的问题,但有大量可用资源,Android 的 API 指南 充分解释了如何创建和自定义对话框。

于 2012-09-09T21:44:03.043 回答