第二章執行個體:Android視窗菜單顯示

來源:互聯網
上載者:User

標籤:

package test.main.cls;import com.example.popupwindow.R;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Gravity;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.PopupMenu;import android.widget.PopupMenu.OnMenuItemClickListener;import android.widget.PopupWindow;import android.widget.Toast;public class PopupWindows extends Activity {    @Override    public void onCreateContextMenu(ContextMenu menu, View v,            ContextMenuInfo menuInfo) {        menu.setHeaderIcon(R.drawable.ic_launcher);        SubMenu submenu = menu.addSubMenu("系統修複");//該方法返回submenu介面對象,想必menu實現了submenu介面        submenu.add(0, 0, 0, "自動修複").setIcon(R.drawable.ic_launcher);        submenu.add(0, 1, 0, "修複外存").setIcon(R.drawable.ic_launcher);        submenu.add(0, 2, 0, "修複硬體").setIcon(R.drawable.ic_launcher);        //------------------------------------------        menu.setHeaderIcon(R.drawable.ic_launcher);        SubMenu submenus = menu.addSubMenu("全域修複");//該方法返回submenu介面對象,想必menu實現了submenu介面        submenus.add(0, 0, 0, "完全修複").setIcon(R.drawable.ic_launcher);        submenus.add(0, 1, 0, "無損修複").setIcon(R.drawable.ic_launcher);        submenus.add(0, 2, 0, "完美修複").setIcon(R.drawable.ic_launcher);        super.onCreateContextMenu(menu, v, menuInfo);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        SubMenu submenu = menu.addSubMenu("毀滅系統");//該方法返回submenu介面對象,想必menu實現了submenu介面        submenu.add(0, 0, 0, "全盤毀滅").setIcon(R.drawable.ic_launcher);        submenu.add(0, 1, 0, "毀滅外存").setIcon(R.drawable.ic_launcher);        submenu.add(0, 2, 0, "毀滅硬體").setIcon(R.drawable.ic_launcher);        //submenu.add(0, 4, 0, "毀滅電池").setIcon(R.drawable.ic_launcher).setIntent(/*Intent*/);        //submenu.add(0, 3, 0, "毀滅螢幕").setShortcut(‘F‘, ‘5‘);        //submenu.setGroupCheckable(0, true, true);按鈕組是否可勾選        //-----------------------------------------        SubMenu submenu1 = menu.addSubMenu("發送詐騙資訊");        submenu1.add(0, 0, 0, "發送給全部好友");        submenu1.add(0, 1, 0, "發送給最近聯絡");        submenu1.add(0, 2, 0, "隨機發送");        submenu1.add(0, 3, 0, "發送國外");                return super.onCreateOptionsMenu(menu);    }    @Override    public void onOptionsMenuClosed(Menu menu) {        // TODO Auto-generated method stub        super.onOptionsMenuClosed(menu);    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        View contentv = this.getLayoutInflater().inflate(R.layout.main_layout, null);        this.setContentView(contentv);        //-------------------------------------------        Button btn = (Button)findViewById(R.id.clickssss);        final PopupMenu pMenu = new PopupMenu(PopupWindows.this,btn);        this.getMenuInflater().inflate(R.menu.popup_menu, pMenu.getMenu());        btn.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                pMenu.show();            }        });        pMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {                        @Override            public boolean onMenuItemClick(MenuItem item) {                Toast.makeText(PopupWindows.this, item.getTitle(), Toast.LENGTH_LONG).show();                return true;            }        });        ///------------------------------------------        //注意::findViewById需要setContentView後可用        this.registerForContextMenu(contentv);//給一個View綁定操作功能表            }}

xml:
//main_layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/clickssss" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="彈出"/></LinearLayout>
xml://menu/popup_menu.xml<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" >    <group android:checkableBehavior="none">        <item android:id="@+id/menu_1"            android:title="這是一個快顯功能表"/>        <item android:id="@+id/menu_2"            android:title="其用法也非常簡單"/>        <item android:id="@+id/menu_3"            android:title="控制項使用不是重點"/>        <item android:id="@+id/menu_4"            android:title="重點是要理解代碼"/>                 </group></menu>

 

第二章執行個體:Android視窗菜單顯示

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.