亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android仿微信菜單(Menu)(使用C#和Java分別實現(xiàn))

 更新時間:2015年06月18日 09:24:33   投稿:junjie  
這篇文章主要介紹了Android仿微信菜單(Menu)(使用C#和Java分別實現(xiàn)),本文分別給出C#和Java版的運行效果及實現(xiàn)代碼,需要的朋友可以參考下

本篇是對安卓菜單使用編程方式實現(xiàn),當然可以使用XML的方式完成同樣的功能,基本Java和C#寫法都是一致的,所以使用XML的方式在本篇中使用Java演示,需要注意的是,對于如果不是VS開發(fā)的話,那么資源文件名稱必須以小寫開頭,否則會報錯。

運行效果

C#實現(xiàn)

using Android.App;
using Android.OS;
using Android.Views;
using Android.Widget;

namespace MenuDemo
{
  [Activity(Label = "@string/ApplicationName", MainLauncher = true, Icon = "@drawable/Icon")]
  public class MainActivity : Activity
  {
    protected override void OnCreate(Bundle bundle)
    {
      base.OnCreate(bundle);

      SetContentView(Resource.Layout.Main);
      var iv = FindViewById<ImageView>(Resource.Id.iv);
      iv.SetImageResource(Resource.Drawable.test);
      RegisterForContextMenu(iv);
    }
    //與一個活動關(guān)聯(lián)
    public override bool OnCreateOptionsMenu(IMenu menu)
    {
      base.OnCreateOptionsMenu(menu);
      const int menuItemId = Menu.First;
      const int menuItemOrder = Menu.None;
      const int munuItemText = Resource.String.menuItem1;
      /*
       * 第一個參數(shù):組值
       * 第二個參數(shù):菜單唯一標示
       * 第三個參數(shù):順序參數(shù)
       * 第四個參數(shù):文本
       */
      menu.Add(1, menuItemId, menuItemOrder, munuItemText);
      menu.Add(2, menuItemId + 10, menuItemOrder + 1, "菜單2");
      menu.Add(2, menuItemId + 20, menuItemOrder + 2, "菜單3" );
      var subMenu = menu.AddSubMenu(0, menuItemId + 30, menuItemOrder + 3, "子菜單" );
      subMenu.SetHeaderIcon(Resource.Drawable.more);
      var subMenuItem1 = subMenu.Add(0, menuItemId + 40, menuItemOrder + 4,"子菜單-1" );
      subMenuItem1.SetIcon(Resource.Drawable.more);
      var subMenuItem2 = subMenu.Add(0, menuItemId + 50, menuItemOrder + 5,"子菜單-2" ).SetCheckable(true);
      subMenuItem2.SetIcon(Resource.Drawable.blue);
      subMenu.Add(0, menuItemId + 60, menuItemOrder + 6, "子菜單-3" ).SetCheckable(true);
      return true;
    }

    public override bool OnOptionsItemSelected(IMenuItem item)
    {
      Toast.MakeText(this, "當前菜單編號" + item.ItemId, ToastLength.Long).Show();
      return base.OnOptionsItemSelected(item);
    }


    public override void OnCreateContextMenu(IContextMenu menu, View v, IContextMenuContextMenuInfo menuInfo)
    {
      base.OnCreateContextMenu(menu, v, menuInfo);
      menu.SetHeaderTitle("上下文菜單");
      menu.SetHeaderIcon(Resource.Drawable.blue);
      menu.Add(0, Menu.First, Menu.None, "菜單1");
      menu.Add(0, Menu.First+1,Menu.None, "菜單2").SetShortcut('2','B');
      menu.Add(0, Menu.First + 2, Menu.None, "菜單3");
      var subMenu = menu.AddSubMenu("子菜單");
      subMenu.Add("子菜單選項");
    }
  }
}

Layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:minWidth="25px"
  android:minHeight="25px">
  <ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/iv" />
</LinearLayout>

運行效果

Java實現(xiàn)

package com.example.halower.menudemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.ImageView;


public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ImageView iv=(ImageView)findViewById(R.id.iamgeView);
    iv.setImageResource(R.drawable.test);
    registerForContextMenu(iv);
  }

  @Override
  public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater=new MenuInflater(this);
    inflater.inflate(R.menu.menu_main,menu);
    menu.setHeaderIcon(R.drawable.blue);
    menu.setHeaderTitle(R.string.menuTitle);
  }
}

Layout

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <string name="app_name">MenuDemo</string>
  <string name="action_settings">Settings</string>
  <string name="item1Name" >菜單1</string>
  <string name="item2Name" >菜單2</string>
  <string name="item3Name" >菜單3--More</string>
  <string name="item4Name" >菜單4</string>
  <string name="menuTitle">XML中解析菜單</string>
  <string name="subitem1Name">子菜單1</string>
  <string name="subitem2Name">子菜單2</string>
</resources>

相關(guān)文章

  • android?studio組件通信:Intend啟動Activity接收返回結(jié)果

    android?studio組件通信:Intend啟動Activity接收返回結(jié)果

    這篇文章主要介紹了android?studio組件通信:Intend啟動Activity接收返回結(jié)果,設(shè)計一個主Activity和一個子Activity(Sub-Activity),使用主Activity上的按鈕啟動子Activity,并將子Activity的一些信息返回給主Activity,并顯示在主Activity上,需要的朋友可以參考一下
    2021-12-12
  • Android藍牙庫FastBle的基礎(chǔ)入門使用

    Android藍牙庫FastBle的基礎(chǔ)入門使用

    這篇文章主要給大家介紹了關(guān)于Android藍牙庫FastBle的基礎(chǔ)入門使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 在Android中訪問WebService接口的方法

    在Android中訪問WebService接口的方法

      最近公司有個項目需要從Android平臺訪問WebService接口,實現(xiàn)向發(fā)布的函數(shù)傳遞對象。在網(wǎng)上找了一些資料,發(fā)現(xiàn)使用ksoap2可以調(diào)用WebService傳遞對象。
    2013-05-05
  • android中SwipeRefresh實現(xiàn)各種上拉,下拉刷新示例

    android中SwipeRefresh實現(xiàn)各種上拉,下拉刷新示例

    這篇文章主要介紹了android中SwipeRefresh實現(xiàn)各種上拉,下拉刷新示例,非常具有實用價值,需要的朋友可以參考下。
    2017-03-03
  • Android獲取和讀取短信驗證碼的實現(xiàn)方法

    Android獲取和讀取短信驗證碼的實現(xiàn)方法

    這篇文章主要介紹了Android獲取和讀取短信驗證碼的實現(xiàn)方法,文章內(nèi)容介紹了如何讀取剛收到的短信的相關(guān)內(nèi)容,以及Android獲取短信驗證碼的方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Android控件RecyclerView實現(xiàn)混排效果仿網(wǎng)易云音樂

    Android控件RecyclerView實現(xiàn)混排效果仿網(wǎng)易云音樂

    這篇文章主要為大家詳細介紹了Android控件RecyclerView實現(xiàn)混排效果,仿網(wǎng)易云音樂,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Android實現(xiàn)蝸牛進度條效果

    Android實現(xiàn)蝸牛進度條效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)蝸牛進度條效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Android 控件GridView使用案例講解

    Android 控件GridView使用案例講解

    這篇文章主要介紹了Android 控件GridView使用案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Android 調(diào)試工具用法詳細介紹

    Android 調(diào)試工具用法詳細介紹

    本文主要介紹Android 調(diào)試工具,在Android應(yīng)用開發(fā)的過程中肯定會用到Android 調(diào)試工具,這里整理了調(diào)試工具的使用方法,有需要的小伙伴可以參考下
    2016-08-08
  • Android自定義View實現(xiàn)分段選擇按鈕的實現(xiàn)代碼

    Android自定義View實現(xiàn)分段選擇按鈕的實現(xiàn)代碼

    這篇文章主要介紹了Android自定義View實現(xiàn)分段選擇按鈕的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12

最新評論