使用菜单资源

一、选项菜单的使用

        下面还是通过一个实例来演示菜单资源的使用。本实例定义了一个文件系统的菜单信息,主菜单包括File、Edit和Help三个菜单项。File菜单有New、Open和Save子菜单项;Edit菜单有Cut、Copy和Paste子菜单项;Help菜单有About和Exit子菜单项。其中主菜单分别添加了图标。File子菜单带有快捷键,Edit子菜单采用单选按钮。Help子菜单可用响应单击事件,分别获得帮助和退出程序。

当用户单机菜单按键时,弹出的菜单就是选项菜单。使用菜单资源创建选项菜单的具体步骤如下:

1)重写Activity中的onCreateOptionsMenu()方法。在该方法中,首先创建一个用于解析菜单资源源文件的Menuinflater对象,然后调用该对象的inflate()方法解析一个菜单资源文件,并把解析后的菜单保存在menu中,关键代码如下:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
	MenuInflater inflater = new MenuInflater(this);//实例化一个MenuInflater对象
	inflater.inflate(R.menu.optionmenu, menu);     //解析菜单文件
	return super.onCreateOptionsMenu(menu);
}

2)重写onOptionsItemSelected()方法,用于当菜单被选择时,做出相应的处理。关键代码如下:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
	// TODO Auto-generated method stub
	return super.onOptionsItemSelected(item);
}

举例

在工程的res\menu\目录下创建file_menu.xml菜单资源文件。

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item   
        android:title="File" 
        android:icon="@drawable/file"> 
        <menu> 
            <group   
                android:id="@+id/noncheckable_group" 
                android:checkableBehavior="none"> 
                  
                <item   
					android:id="@+id/newFile" 
					android:title="New"   
					android:alphabeticShortcut="n"/> 
                  
                <item   
					android:id="@+id/openFile" 
					android:title="Open"   
					android:alphabeticShortcut="o"/> 
                  
                <item   
					android:id="@+id/saveFile" 
					android:title="Save"   
					android:alphabeticShortcut="s"/> 
            </group> 
        </menu> 
    </item> 
 
    <item android:title="Edit" android:icon="@drawable/edit"> 
        <menu> 
            <group android:id="@+id/edit_group" 
                    android:checkableBehavior="single"> 
                      
                <item android:id="@+id/cut" 
                      android:title="Cut" /> 
                        
                <item android:id="@+id/copy" 
                      android:title="Copy"/> 
                        
                <item android:id="@+id/past" 
                      android:title="Past"/> 
            </group> 
        </menu> 
    </item> 
 
    <item android:title="Help" android:icon="@drawable/help"> 
        <menu> 
            <group android:id="@+id/help_group"> 
                <item android:id="@+id/about" 
                        android:title="About" /> 
                <item android:id="@+id/exit" 
                        android:title="Exit" /> 
            </group> 
        </menu> 
    </item> 
</menu>  


       在工程res\layout\目录下创建一个test_menu.xml布局文件,在该文件中添加一个TextView视图组件用来显示一个提示信息。

<?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"> 
      
    <TextView   
        android:text="测试菜单资源"   
        android:id="@+id/menuTextView01"   
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"
		>
	</TextView> 
          
</LinearLayout> 


        在工程的com.amaker.ch03.menu包中创建一个名为TestMenuActivity的Activity类。在该类的顶部声明MenuInflater类,在onCreate()方法中实例化该对象,用来加载菜单XML资源。

public class TestMenuActivity extends Activity {  
		private MenuInflater mi;  
		@Override  
		public void onCreate(Bundle savedInstanceState) {  
				super.onCreate(savedInstanceState);  
				// 设置Activity界面的布局  
				setContentView(R.layout.test_menu);  
				// 实例化MenuInflater对象  
				mi = new MenuInflater(this);  
		}  
} 

覆盖Activity的onCreateOptionsMenu()方法,在其中创建菜单。

/*  
 * 创建菜单  
 */  
public boolean onCreateOptionsMenu(Menu menu) {  
    // 调用MenuInflater的inflate方法,通过配置文件创建菜单  
    mi.inflate(R.menu.file_menu, menu);  
    return true;  
} 

覆盖Activity的onOptionsItemSelected()方法,响应菜单单击事件,当单击About时显示帮助,当单击Exit时退出程序。

@Override // 菜单项的单击事件  
   public boolean onOptionsItemSelected(MenuItem item) {  
    switch (item.getItemId()) {  
       // 显示关于对话框  
    case R.id.about:  
        aboutAlert("本实例演示的是如何使用XML菜单资源来定义菜单!");  
        break;  
       // 显示退出对话框  
    case R.id.exit:  
        exitAlert("真的要退出吗?");  
        break;  
    }  
    return true;  
   }  
     
// 显示对话框  
private void exitAlert(String msg){  
        // 实例化AlertDialog. Builder  
        AlertDialog.Builder builder = new AlertDialog.Builder(this);  
        // 设置显示信息  
        builder.setMessage(msg)  
           .setCancelable(false)  
                // 确定按钮  
           .setPositiveButton("确定", new
DialogInterface.OnClickListener() {  
                public void onClick(DialogInterface dialog, int id) {  
                     // 结束Activity  
                   finish();  
               }  
               // 取消按钮  
           }).setNegativeButton("取消", new 
DialogInterface.OnClickListener() {  
               public void onClick(DialogInterface dialog, int id) {  
                   return;  
               }  
           });  
        // 创建对话框  
       AlertDialog alert = builder.create();  
        // 显示对话框  
    alert.show();  
}  
 
// 显示对话框  
private void aboutAlert(String msg){  
         // 实例化AlertDialog. Builder  
         AlertDialog.Builder builder = new AlertDialog.Builder(this);  
         // 设置显示信息  
         builder.setMessage(msg)  
           .setCancelable(false)  
                // 设置确定按钮  
           .setPositiveButton("确定", new DialogInterface.OnClickListener() {  
               public void onClick(DialogInterface dialog, int id) {  
               }  
           });  
         // 创建对话框  
         AlertDialog alert = builder.create();  
         // 显示对话框  
    alert.show();  
} 

运行程序:



二、上下文菜单的使用

        当用户长时间按键不放时,弹出的菜单就是上下文菜单。使用菜单资源创建上下文菜单的具体步骤如下:

1)在Activity的onCreare()方法中,注册上下文菜单。例如,为文本框注册上下文菜单,可以使用如下代码:

TextView tv = (TextView)findViewById(R.id.show);
registerForContextMenu(tv);     //为文本框注册上下文菜单

2)重写Activity中的onCreateContextMenu()方法。在该方法中,首先创建一个用于解析菜单资源文件的MenuInflater对象,然后调用该对象的inflate()方法解析一个菜单资源文件,并把解析后的菜单保存在menu中,最后才菜单头设置图标和标题,关键代码如下:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
		ContextMenuInfo menuInfo) {
	MenuInflater inflater = new MenuInflater(this);//实例化一个MenuInflater对象
	inflater.inflate(R.menu.menus, menu);          //解析菜单文件
	menu.setHeaderIcon(R.drawable.ic_launcher);    //为菜单头设置图标
	menu.setHeaderTitle("请选择");                  //为菜单头设置标题
}

3)重写onContentItemSeleted()方法,用于当菜单项被选择时,做出相应的处理。

@Override
public boolean onContextItemSelected(MenuItem item) {
	// TODO Auto-generated method stub
	return super.onContextItemSelected(item);
}

举例

1)在res目录下创建menu目录,并在该目录创建一个名称为contentmenu.xml的菜单资源文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <item android:id="@+id/color1" android:title="红色"></item>
	<item android:id="@+id/color2" android:title="绿色"></item>
	<item android:id="@+id/color3" android:title="蓝色"></item>
	<item android:id="@+id/color4" android:title="橙色"></item>
	<item android:id="@+id/color5" android:title="恢复默认"></item>
</menu>

2)打开默认创建的布局文件activity_main.xml,修改默认添加的TextView文本框,修改代码如下:

<TextView 
	android:id="@+id/show"  
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="打开菜单……"
	android:textSize="28sp"
	/>

3)在Activity的onCreate()方法中,为文本框注册上下文菜单:

private TextView tv = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	
	tv = (TextView)findViewById(R.id.show);
	registerForContextMenu(tv);
}

4)在Activity的onCreate()方法中共,重写onCreateContextMenu()方法,在该方法中,首先创建一个用于解析菜单资源文件的MenuInflater对象,然后调用该对象的inflate()方法解析一个菜单资源文件,并把解析后的菜单保存在menu中。

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
		ContextMenuInfo menuInfo) {
	MenuInflater inflater = new MenuInflater(this);
	inflater.inflate(R.menu.contentmenu, menu);
	menu.setHeaderIcon(R.drawable.ic_launcher);
	menu.setHeaderTitle("请选择文字颜色:");
}

5)重写onContextItemSelected()方法,在该方法中,通过switch语句使用用户选择的颜色来设置文本框中显示文字的颜色。

@Override
public boolean onContextItemSelected(MenuItem item) {
	switch(item.getItemId()){
	case R.id.color1:
		tv.setTextColor(Color.rgb(255, 0, 0));
		break;
	case R.id.color2:
		tv.setTextColor(Color.rgb(0, 255, 0));
		break;
	case R.id.color3:
		tv.setTextColor(Color.rgb(0, 0, 255));
		break;
	case R.id.color4:
		tv.setTextColor(Color.rgb(255, 180, 0));
		break;	
	default:
		tv.setTextColor(Color.rgb(255, 255, 255));
	}
	return true;
}
效果如下:




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 1。课程设计目的 1 2。课程设计要求 1 3.boson平台介绍 1 4.网络设计 3 4。1 静态路由构成网络 3 4.1。1 网络规划 3 4。1.2网络拓扑图 3 4。1.3 划分网段、IP地址 4 4.1。4 路由器的配置 5 4.1。5 主机的配置 8 4.2 VLAN的设计 9 4.2。1 网络规划 9 4.2。2 网络拓扑图 10 4。2。3 IP地址的划分 10 4。2。4 vlan的配置 11 5 结果测试 11 5.1 静态路由测试 11 5。2 VLAN 测试 13 6 结果分析 15 7 实验总结 15 8、参考文献 16 小型企业网方案设计和实现 1.课程设计目的 (1)对计算机网络基本理论知识的加深理解。 (2)通过设计对计算机网络的应用有所了解。  (3)掌握基本cisco基本配置命令并熟练运用。 2。课程设计要求 (1)分析具体情况,结合实验室条件,完成需求分析; (2)列出所需设备,设计完成网络拓扑结构图; (3)在实验环境下完成设备的具体配置; (4)调试验证。 3。boson平台介绍 Boson Network Designer 是用户用来绘制自己定制的实验网络拓扑图的工具。它的主界面分为菜单栏、设备连接 列表、设备连接信息和绘图区四个部分。下面介绍一下各个部分的主要功能. (1) 菜单栏 "File"菜单主要完成拓扑图文件的新建、打开、保存、另存、打印等操作,拓扑图 文件的扩展名为".top".其"Load NetMap into the Simulator"菜单项用来将拓扑图装入实验模拟器,如果此时Boson NetSim程序已 经打开,则拓扑图自动装入,否则Boson NetSim启动时再装入."Wizard"菜单以向导的形式为添加新设备或者为设备布线等。 "Help"菜单包含帮助主题、图例、用户手册、版本信息等内容。 (2)设备连接列表 Boson Network Designer包含的设备和连接有: 1. Cisco 800、1000、1600、1700、2500、2600、3600、4500八系列42种路由器; 2. Cisco Catalyst 1900、2900、3500三个系列3三种交换机; 3. Ethernet、Serial、ISDN三种布线元件; 4. Win98、TACACS、TFTP三种PC机器。 再运用Boson进行实验时,不同型号路由器的功能和性能是完全相同的,其不同点在 提供的接口数量和类型不同,有些接口是固定配置的,有些接口是模块化的.例如,以太 网接口的分为普通以太网(ethernet)和快速以太网(fastethernet)两种类型 ,固定配置的普通以太网接口使用ethernet 0的形式引用,模块化的普通以太网接口使用ethernet 0/0的形式引用。因此,要按照"够用为度"的原则选择实验设备,即尽量选择一个简单的 、接口数量较少的路由器进行实验. (3)设备连接信息列表 在设备连接列表一个具体型号的设备或连接后,设备连接信息列表区会显示出 该设备的接口数量和类型。对于类型为可选的接口,在添加设备到绘图区时再确定是否 使用。 (4)绘图区 绘图区是Boson Network Designer的主窗口,提供了各种设备连接的放置平台,可以在设备列表选择设备添加 ,在该区域内直接修改.在下文的实验将详细说明它的使用方法。 Boson NetSim用来模拟路由器、交换机等各种网络设备搭建起来的实验环境。用户可以在该 软件上对虚拟网络设备进行配置、测试,也可以对运行的协议进行诊断。它的主界面分为 菜单栏、工具栏、设备配置界面三个部分. (1) 菜单菜单栏包括File、Modes、Devices、Tools、Ordering、Window、Help七部 分。 (2) 工具栏 工具栏的前3个按钮用来快速切换正在配置的路由器、交换机、PC机,与"Devices"菜 单的功能相同. 第4个按钮用来打开实验导航器,与"Lab Navigator" 菜单的功能相同。 第5个按钮用来显示当前实验的网络拓扑图。 第6个按钮用来显示"远程控制面板","Remote Control"菜单功能相同. (3) 设备配置界面 设备配置界面是用户输入路由器、交换机、PC机配置命令的地方,也是用户观察路由 器、交换机、PC机信息输出的地方。路由器和交换机的配置方法与"超级终端"相同, PC机的配置方法与Windows状态下cmd命令行方式相似。 4.网络设计 4.1 静态路由构成网络 4.1.1 网络规划 本网络由两个广域网,三个局域网组成.选用2个805路由器。选用1个2516路由器。选 用3个2590交换机,其有12个快速以太网接口,所以这连个局域网采用的是
### 回答1: Unity 字体和菜单资源是在Unity开发环境用于设计和创建游戏用户界面的重要组成部分。 首先,Unity 字体资源可以让开发人员选择合适的字体样式和大小,以增强游戏的可读性和视觉效果。Unity提供了许多常用字体,如Arial、Times New Roman等,也支持导入自定义字体文件。通过字体资源,开发人员可以轻松地在游戏创建和调整文本对象,例如标题、按钮、对话框等。此外,Unity 还提供了许多文本设置选项,如字体颜色、字间距、行间距等,以满足不同游戏风格和需求。 其次,Unity 菜单资源是为了方便开发人员管理和组织游戏项目的各种资源设计的。在Unity编辑器菜单资源是以层次结构的形式展示的,包含了游戏场景、预设、材质、纹理等等。通过菜单资源,开发人员可以轻松地创建、修改和删除游戏的各种资源,也可以进行资源间的关联和引用。此外,Unity还提供了图片预览和搜索功能,以便快速查找和使用所需的资源。通过合理组织和利用菜单资源,开发人员可以更高效地管理游戏项目,提高开发效率和游戏品质。 总之,Unity 字体和菜单资源是为了方便开发人员在游戏创建和管理用户界面以及各种资源设计的。通过使用字体资源,开发人员可以增强游戏的可读性和视觉效果。而菜单资源则可以帮助开发人员更好地组织和管理游戏项目的各种资源,提高开发效率和游戏品质。 ### 回答2: Unity 字体和菜单资源是 Unity 引擎两个重要的功能。字体资源用于在游戏显示文本和字体样式的设置,而菜单资源用于创建游戏的菜单系统和交互界面。 首先,Unity 字体资源允许开发者在游戏使用自定义字体和字体样式。Unity 内置了一些常用的字体样式,同时也支持导入多种格式的自定义字体。通过使用字体资源,开发者可以定制游戏的文字外观,如字体大小、字体颜色、加粗、斜体等。这使得游戏界面在视觉上更加丰富和个性化。 其次,Unity 菜单资源是开发者在游戏创建互动界面的关键。通过使用 Unity 的菜单资源,开发者可以轻松地构建游戏菜单系统,包括开始菜单选项菜单、关卡选择菜单等。菜单资源也可以用于创建与玩家交互的界面元素,如按钮、滑块、进度条等。这些菜单资源可以与代码进行交互,实现玩家与游戏的互动和反馈。 除了以上功能,Unity 还提供了一些菜单资源的扩展和工具,用于更高级的菜单设计和界面布局。开发者可以使用 Unity 的可视化编辑器来快速设计和调整菜单界面,同时也可以使用 Unity 提供的脚本 API 对菜单进行进一步的自定义和控制。 综上所述,Unity 字体和菜单资源是 Unity 引擎两个重要功能,分别用于游戏文本显示和界面交互。它们给开发者提供了丰富的定制化选项和工具,使得游戏界面更加华丽和用户友好。 ### 回答3: Unity是一款强大的游戏开发引擎,它提供了丰富的资源供开发者使用。其,字体和菜单资源是开发过程常用的资源之一。 在Unity,字体资源用于显示游戏的文本内容。Unity支持不同的字体格式,如TrueType字体和OpenType字体等。开发者可以从外部导入自定义的字体文件,也可以使用Unity自带的字体资源。通过将字体资源应用于文本组件,开发者可以控制字体的样式、颜色、大小等属性,从而实现游戏界面的美化与个性化。 菜单资源则用于创建游戏的用户界面(UI),包括各种按钮、标签、滑块等交互元素。Unity提供了丰富的菜单资源供开发者使用,可以直接拖拽到场景进行布局和调整。开发者可以通过编辑器来设置菜单资源的样式、位置、大小以及交互响应等属性,从而实现用户界面的设计和交互功能。 通过使用Unity提供的字体和菜单资源,开发者能够更加方便地创建游戏的文本和界面元素。同时,Unity还提供了一系列的脚本组件和API,使得开发者能够根据游戏需求自定义字体和菜单资源的行为。这些资源使用不仅能够提升游戏的视觉效果,也能够提高用户对游戏的体验和操作便利性。 总而言之,Unity字体和菜单资源是开发游戏过程不可或缺的资源之一,通过它们的灵活运用,可以使游戏更加个性化和用户友好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值