现在的位置: 首页 > 综合 > 正文

AndroidGUI12:ContextMenu的常用技巧

2013年06月22日 ⁄ 综合 ⁄ 共 1708字 ⁄ 字号 评论关闭



ContextMenu
实现了
Menu
接口。当在某个
View
上长按时,就可以让
ContextMenu
出现。

ContextMenu

Item
不支持
Icon

 

1.    



创建一个
Android Project
,修改缺省的
main.xml
,使之如下:

<?
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:gravity
=
"center_horizontal"

   

>

 

        

<
Chronometer

                  

android:id
=
"@+id/chronometer"

                  

android:layout_width
=
"wrap_content"

                  

android:layout_height
=
"wrap_content"

                  

android:format
=
"%s"

                  

android:textSize
=
"80px"

                  

android:textColor
=
"#FFFF00"

        

/>
              

</
LinearLayout
>

 

2.    



创建一个
context_menu.xml
文件,用作菜单资源:

点击
Finish
按钮,编辑
context_menu.xml
,使其内容如下:

<?
xml
version
=
"1.0"

encoding
=
"utf-8"

?>

<
menu

 

xmlns:android
=
"http://schemas.android.com/apk/res/android"

>

 
    

<
item

 

              
android:id
=
"@+id/timer_start"

 

              
android:title
=
"


开始计时

"

 
    
/>

 
    

<
item

 
              
android:id
=
"@+id/timer_stop"

 
              
android:title
=
"


终止计时

"

 
    
/>

 
    

<
item

 
              
android:id
=
"@+id/timer_reset"

 
              
android:title
=
"


清零

"

 
    
/>
 
 

</
menu
>

 


3.   


把需要用到的图标
compass.png
,拖入到
Eclipse
项目中的
res/drawable-mpdi
文件夹下。

4.    



编写
Activity
对应的代码如下:

public

class
ControlContextMenu
extends
Activity

{

        

private
Chronometer
timer
;

        

   

@Override

   

public

void
onCreate(Bundle savedInstanceState)

   
{

       

super
.onCreate(savedInstanceState);

       
setContentView(R.layout.

main

);

       

       

//
获得计时器对象

       

timer
= (Chronometer)
this
.findViewById(R.id.
chronometer

);

       

//
使得用户长按计时器时

可以出现
ContextMenu

       

this
.registerForContextMenu(
timer
);

   
}

 

        

// alt+Shift+S
重写
onCreateContextMenu

创建
-->

作者:

抱歉!评论已关闭.