菜單(三)二級菜單和標題列菜單,標題列菜單

來源:互聯網
上載者:User

菜單(三)二級菜單和標題列菜單,標題列菜單

package com.example.menu2;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.create:Toast.makeText(MainActivity.this, "建立檔案", Toast.LENGTH_SHORT).show();break;case R.id.open:Intent intent = new Intent(MainActivity.this, NextActivity.class);item.setIntent(intent);//Toast.makeText(MainActivity.this, "開啟檔案", Toast.LENGTH_SHORT).show();break;case R.id.load:Toast.makeText(MainActivity.this, "載入", Toast.LENGTH_SHORT).show();break;case R.id.save:Toast.makeText(MainActivity.this, "儲存", Toast.LENGTH_SHORT).show();break;default:break;}return super.onOptionsItemSelected(item);}}

主布局檔案可以不用管

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" ></RelativeLayout>
res/menu/main.xml定義菜單

<menu xmlns:android="http://schemas.android.com/apk/res/android" >    <!-- orderInCategory菜單順序類別 -->    <!-- app:showAsAction="never"表示不會在標題列上面顯示 -->    <item        android:id="@+id/menu_settings"        android:icon="@drawable/communication"        android:orderInCategory="100"        android:showAsAction="ifRoom|withText"        android:title="菜單設定">        <menu>            <item                android:id="@+id/create"                android:title="建立檔案">            </item>            <item                android:id="@+id/open"                android:title="開啟檔案">            </item>        </menu>    </item>    <item        android:id="@+id/system"        android:icon="@drawable/gear"        android:orderInCategory="101"        android:showAsAction="ifRoom|withText"        android:title="使用者菜單">        <menu>            <group android:id="@+id/group1" >                <item                    android:id="@+id/load"                    android:title="載入">                </item>            </group>            <group android:id="@+id/group2" >                <item                    android:id="@+id/save"                    android:title="儲存">                </item>            </group>        </menu>    </item></menu>
定義一個菜單跳轉的頁面

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true"        android:layout_marginTop="172dp"        android:textSize="30sp"        android:text="這是跳轉的頁面" /></RelativeLayout>
package com.example.menu2;import android.app.Activity;import android.os.Bundle;public class NextActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_next);}}

showAsAction指定菜單顯示的位置這裡是never

如果改為ifRoom|withText,表示如果actionBar有空間就顯示在actionBar而且顯示標題


原始碼下載

這個工程在模擬器上調試正常,在真機上調試二級菜單打不開,不知道是不是手機問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.