最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

運(yùn)行效果

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ù):菜單唯一標(biāo)示
       * 第三個參數(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, "當(dāng)前菜單編號" + 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>

運(yùn)行效果

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)文章

  • dagger2使用方法教程之簡明講解

    dagger2使用方法教程之簡明講解

     Dagger2 是一個Android依賴注入框架,由谷歌開發(fā),最早的版本Dagger1 由Square公司開發(fā)。下面這篇文章主要給大家介紹了關(guān)于dagger2的一些使用方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-04-04
  • OpenGL Shader實例分析(8)彩色光圈效果

    OpenGL Shader實例分析(8)彩色光圈效果

    這篇文章主要為大家詳細(xì)介紹了OpenGL Shader實例分析第8篇,彩色光圈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 淺析Android之Adapter用法總結(jié)

    淺析Android之Adapter用法總結(jié)

    本篇文章主要介紹了Android之Adapter用法總結(jié),具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • android 使用 IJKPlayer 播放視頻流的實現(xiàn)代碼

    android 使用 IJKPlayer 播放視頻流的實現(xiàn)代碼

    這篇文章主要介紹了android 使用 IJKPlayer 播放視頻流,這需要借助 IAndroidIO 這個接口,也可以用于播放本地文件,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Android PopupWindow實現(xiàn)右側(cè)、左側(cè)和底部彈出菜單

    Android PopupWindow實現(xiàn)右側(cè)、左側(cè)和底部彈出菜單

    這篇文章主要為大家詳細(xì)介紹了Android PopupWindow實現(xiàn)右側(cè)、左側(cè)和底部彈出菜單的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android仿網(wǎng)易一元奪寶客戶端下拉加載動畫效果(一)

    Android仿網(wǎng)易一元奪寶客戶端下拉加載動畫效果(一)

    本文通過一個demo給大家介紹了android仿網(wǎng)易一元奪寶客戶端下拉加載動畫效果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • android中的AIDL進(jìn)程間通信示例

    android中的AIDL進(jìn)程間通信示例

    進(jìn)程之間不能共享內(nèi)存,那么怎么在不同的應(yīng)用程序中進(jìn)行通訊,這就要依賴AIDL機(jī)制,本文詳細(xì)介紹了android中的AIDL進(jìn)程間通信示例,有興趣的可以了解一下。
    2016-11-11
  • Android開發(fā)之軟鍵盤用法實例分析

    Android開發(fā)之軟鍵盤用法實例分析

    這篇文章主要介紹了Android開發(fā)之軟鍵盤用法,實例分析了Android軟鍵盤的實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • Android編程實現(xiàn)自定義title功能示例

    Android編程實現(xiàn)自定義title功能示例

    這篇文章主要介紹了Android編程實現(xiàn)自定義title功能,結(jié)合具體實例形式分析了Android自定義title的具體實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • Android編程開發(fā)實現(xiàn)帶進(jìn)度條和百分比的多線程下載

    Android編程開發(fā)實現(xiàn)帶進(jìn)度條和百分比的多線程下載

    這篇文章主要介紹了Android編程開發(fā)實現(xiàn)帶進(jìn)度條和百分比的多線程下載,總結(jié)了前面關(guān)于Java多線程下載的技巧,實例分析了Android實現(xiàn)帶百分比和進(jìn)度條的多線程下載技巧,需要的朋友可以參考下
    2015-12-12

最新評論

儋州市| 上高县| 鹿泉市| 无极县| 筠连县| 清水县| 德安县| 襄樊市| 永顺县| 长治市| 扎鲁特旗| 隆尧县| 延吉市| 民县| 沂水县| 纳雍县| 桑植县| 九江县| 原平市| 大洼县| 迁西县| 安塞县| 阳春市| 桂东县| 新干县| 霸州市| 黄平县| 南澳县| 丰镇市| 靖远县| 滕州市| 满城县| 冕宁县| 蒙城县| 西乌珠穆沁旗| 肃宁县| 蓬溪县| 娄烦县| 凯里市| 大石桥市| 阿瓦提县|