- 浏览: 297791 次
- 性别:
- 来自: 上海
最新评论
-
再_见孙悟空:
写的不错
Dialog -
a549262189:
支持下,正好在学习这块的内容!
Android Gesture Detector -
dcsff:
受教了
LayoutInflater -
庆_啊:
真厉害。
LayoutInflater -
ghj234:
学习了,哈哈
LayoutInflater
Most applications include two kinds of human-computer interactive: Views and Menu.
1. options menu
options menu最多只能在屏幕最下面显示6个菜单选项,称为icon menu,icon menu不能有checkable选项。多于6的菜单项会以more icon menu来调出,称为expanded menu。options menu通过activity的onCreateOptionsMenu来生成,这个函数只会在menu第一次生成时调用。任何想改变options menu的想法只能在onPrepareOptionsMenu来实现,这个函数会在menu显示前调用。onOptionsItemSelected 用来处理选中的菜单项。
(1) options_menu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group> <item android:id="@+id/item1" android:title="Item1" android:icon="@android:drawable/ic_dialog_alert" /> <item android:id="@+id/item2" android:title="Item2" android:icon="@android:drawable/ic_dialog_info" /> </group> <group> </group> </menu>
(2)MainActivity.java
public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options_menu, menu); MenuItem m1 = menu.findItem(R.id.item1); MenuItem m2 = menu.findItem(R.id.item2); // m1.setIntent(intent1); // m2.setIntent(intent2); return super.onCreateOptionsMenu(menu); } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.item1: // actionClickMenuItem1(); break; case R.id.item2: // actionClickMenuItem2(); break; } return super.onOptionsItemSelected(item); } }
2. sub menus(暂时发现,这个menu没有办法添加icon)
public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onCreateOptionsMenu(Menu menu) { SubMenu m1 = menu.addSubMenu("SubM1"); SubMenu m2 = menu.addSubMenu("SubM2"); MenuItem m1_sub1 = m1.add("m1_1"); MenuItem m1_sub2 = m1.add("m1_2"); m2.add(0, 0, 0, "m2_2"); m2.add(0, 1, 0, "m2_2"); m1_sub1.setIcon(getResources().getDrawable(R.drawable.ic_dialog_alert)); // 不起任何作用 m1_sub2.setIcon(R.drawable.ic_dialog_info); // 不起任何作用 return super.onCreateOptionsMenu(menu); } public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == 0) { } else if (item.getItemId() == 1) { } return super.onOptionsItemSelected(item); } }
3. context menu ( context menu需要在view上按上2s后显示 )
context menu是跟某个具体的view绑定在一起的。
Step 1:
>>调用"registerForContextMenu( view )", 去注册会弹出Context Menu的view.
Step 2:
>>实现"onCreateContextMenu( ContextMenu menu, View v, ContextMenuInfo menuInfo )"方法, 你可以根据View的值来判断是要激活哪个view的contex menu.
Step 3:
>> 实现"onContextItemSelected( MenuItem item )", 当选择了Context Menu中一个菜单项后, 系统会调用这个方式, 你可以透过ID来知道是哪一个menu item被选择了.
public class MainActivity extends Activity { private TextView tv; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv = (TextView) findViewById(R.id.main_tv); registerForContextMenu(tv); } public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { if (v == tv) { menu.add(0, 0, 0, "Context Menu One"); menu.add(0, 1, 0, "Context Menu Two"); //同sub menu一样,同样无法赋予icon } } public boolean onContextItemSelected(MenuItem item) { if (item.getItemId() == 0) { tv.setText("Click Context Menu One"); } else if (item.getItemId() == 1) { tv.setText("Click Context Menu Two"); } return super.onContextItemSelected(item); } }
4
评论
context menu就是实现的这个功能吧
发表评论
-
如果在Eclipse中debug
2010-05-02 14:15 0最基本的操作是: 1, 首先在一个java文件中设断点,然后 ... -
How to download sourcecode of android with cygwin
2010-04-14 16:07 5108cygwin是一个在windows平台 ... -
TelephoneManager
2010-03-08 16:04 01. protected void onCreate(Bun ... -
eclipse c
2010-03-07 21:05 0Eclipse 除 了可以开发Java之外,还支持了许 ... -
android sdk安装
2010-02-02 23:37 34861.下载:http://developer.android.c ... -
google map my demo
2010-02-02 23:36 3195<uses-library android:name=& ... -
Toast
2010-02-02 23:35 14721. (1) public class ToastActi ... -
如何在MapView上画图
2010-02-02 23:34 1579http://ophone8.com/thread-4340- ... -
Service
2010-02-02 23:33 31501. Service生命周期 (1)Servic ... -
Notification
2010-02-02 23:33 19241. Notification构造器的参数 分别为: ... -
导航相关概念
2010-02-02 23:32 16961. Google Map的定位 (1)Goog ... -
PendingIntent和Intent
2010-02-02 23:28 9526Notification n = new Notificati ... -
Broadcast调用Service做的一个定时器
2010-02-02 23:28 37091. public class AlarmActivity ... -
Broadcast Receiver
2010-02-02 23:27 8691Broadcast Receiver用于接收并处理广播通知(b ... -
LayoutInflater
2010-02-02 23:27 21803一般来讲,我们用LayoutInflater做一件事:infl ... -
Android's Components 生命周期
2010-02-02 23:27 2159Android中,Component(activity、ser ... -
Activity文档翻译
2010-02-02 23:26 1595转自:http://www.blogjava.net/m ... -
Intent
2010-01-20 10:51 011 public class MumActivity ex ... -
aidl
2010-01-05 11:24 30601. android进程之间如何通讯呢(在不同的进程中怎样传递 ... -
Gallery 画廊
2009-12-17 20:25 33711. images.xml <?xml ver ...
相关推荐
menu = Menu.createMenu(this, tree_createMenuItems(), false); // 设置菜单的图标字段和标签字段 menu.iconField = "itemIcon"; menu.labelField = "label"; menu.variableRowHeight = true; // 添加菜单项...
Create a menu file below resource folder. Right click to res then New > Android Resource File, type a file name and make sure you choose ResourceType as Menu. Here is a sample menu file. You can add ...
2. **添加菜单栏**:在CVI中,我们可以通过`LabWindows/CVI User Interface Library`中的`Create Menu Bar`函数来创建一个空的菜单栏。这个函数将返回一个菜单栏句柄,供后续操作使用。 3. **添加菜单项**:接下来...
Menu menu = Create Menu MenuItem item = Create MenuItem item.Text = "新建" item.Event = "New_Click" menu.AddObject(item) ``` 通过以上讲解,我们可以看出PB动态生成菜单源码是PB开发中的一个重要技巧...
Menu myMenu = Create Menu ``` 2. **创建菜单项**:接着,你需要为菜单创建MenuItem对象。这可以通过调用Menu对象的`AddItem`方法完成,传入菜单项的文本和可能的快捷键。 ```pb MenuItem myMenuItem = ...
Create Menu 语句可创建全新的菜单或重新定义已有的菜单; Create Menu Bar语句可创建用户自己的菜单项 Alter Menu 语句可增加或删除菜单项; Alter Menu Bar语句可增加或删除菜单项; ****Alter Menu Bar Add "","...
在这里,用户可以添加新的 Menu Name,然后点击 Create Menu 按钮,激活新的菜单。 添加菜单项目 在创建新菜单后,用户可以选择要显示的页面、分类或自定义链接等项目,然后点击 Add to Menu 按钮,将其添加到右侧...
2. 快捷菜单创建:使用`CREATE MENU menu_quick`命令创建快捷菜单,然后在菜单设计器中添加“查询”和“修改”菜单项。在表单myform的RightClick事件中,通过`DO menu_quick.mpr(5)`调用快捷菜单。 三、综合应用 ...
Create Menu "环境" As "监测 &I" Calling prg1, "评价 &A" Calling prg2, "预测 &P" Calling prg3, "查询 &S" Calling prg4 Alter Menu Bar Add "环境", 3 Alter Menu "环境" Remove "浏览 &B", "绘图 &M", 2 Alter...
menu = Create Menu menu = GetMenu("你的菜单资源名") PopupMenu(menu, MouseX(), MouseY()) ``` 3. **处理菜单项的点击事件**:为每个菜单项定义一个事件处理程序,比如“编辑”菜单项的“点击”事件。在事件...
- **使用CREATE MENU命令** 直接在命令窗口或程序中创建菜单,指定菜单名称。 3. **CREATE MENU命令** - 这个命令用于动态创建菜单,可以指定菜单文件名或使用问号打开创建对话框。 - 参数`FileName`用于指定...
- **创建菜单**:使用`CREATE MENU`命令可以创建新菜单,如`CREATE MENU my`创建名为my的菜单。 - **菜单项和子菜单**:在菜单设计器中,可以通过设置“结果”下拉框来指定菜单项的行为,如选择"子菜单"创建子菜单...
这通过添加一个新的子过程`My_Exit`来实现,该过程仅包含一条语句`Create menu bar as default`,这将重建MapInfo的默认菜单栏。 2. **对话框设计**: - 学生需要在"信息查询"菜单下的条件查询对话框中修改查询...
- 使用`CREATE MENU`命令创建名为`menu_rate`的菜单,包含“查询”和“退出”两个菜单项。 - “查询”菜单项下创建子菜单,包含“日元”,“欧元”和“美元”。子菜单项需设置为“菜单项#”类型。 - “退出”菜单...
6. **菜单操作**:创建和修改菜单的命令包括`CREATE MENU`、`MODIFY MENU`和`OPEN MENU`。A和C选项是正确的,B选项不正确,因为`MODIFY MENU`是用来修改已有的菜单,而不是创建新菜单;D选项也是错误的,`OPEN MENU`...
3. 使用命令`CREATE MENU`或`MODIFY MENU 文件名 >`来创建或修改菜单。 在设计菜单后,我们需要进行以下步骤: - **定义菜单**:添加菜单项,设置它们的属性如文字、快捷键、图标等。 - **生成菜单程序**:选择...
TRACE0("Failed to create menu bar.\n"); return -1; // fail to create } CXTPToolBar* pToolBar = (CXTPToolBar*)pCommandBars->Add(_T("Standard"), xtpBarTop); if (!pToolBar || !pToolBar->LoadToolBar...