快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

菜单android,菜单价格表

android系统菜单怎么调出

最简单的办法是按菜单键,如果连菜单键是那个都不知道,建议去有关专业网站学飞,因为要从ABD讲起,恐怕这里讲不下来。再简单的办法就是和按某一项,就会跳出菜单,比如长按一个图标会跳出关对于对这个图标下一步操作的菜单选项,长按要输入文本的地方会跳出输入法选择,长按一张图片会文本文件会跳出删除、复制等文件操作菜单。

10年积累的成都做网站、成都网站建设、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有祁阳免费网站建设让你可以放心的选择与我们合作。

百度 机锋网 ,注册登录,进入你手机型号专用论坛学习学习吧。

android中怎么创建菜单条

你只建了菜单,未设置点击菜单后怎么做。

如下面一个例子:

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

public class Menu_Test extends Activity

{

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

public boolean onCreateOptionsMenu(Menu menu)

{

menu.add(0, 0, 0, R.string.app_about);

menu.add(0, 1, 1, R.string.str_exit);

return super.onCreateOptionsMenu(menu);

}

public boolean onOptionsItemSelected(MenuItem item)

{

super.onOptionsItemSelected(item);

switch(item.getItemId())

{

case 0:

openOptionsDialog();

break;

case 1:

finish();

break;

}

return true;

}

private void openOptionsDialog()

{

new AlertDialog.Builder(this)

.setTitle(R.string.app_about)

.setMessage(R.string.app_about_msg)

.setPositiveButton(R.string.str_ok,

new DialogInterface.OnClickListener()

{

public void onClick(DialogInterface dialoginterface, int i)

{

}

}

)

.show();

}

}

例子建了有两个选择的菜单。

其中,onOptionsItemSelected()是选择处理,也就是你的程序所缺少的。

安卓手机菜单是哪个键

有三道“短横杠”的图样就是菜单键。如图:

手机按键的作用:

1、电源键,开机与关机的作。

2、音量键,加音量与减音量,可以当做快门拍照。

3、有些手机的音量键还可以实现缩放画面、快门、对焦、变焦。

4、浏览器翻页与小说阅读的时候,通过音量上键与下键进行上下翻。

5、安卓和苹果手机用音量下键+电源键就可以实现截图。

android的自定圆盘菜单怎么做

1、通用模式

上图是图片加文字,如果我想换成按钮呢,或者我只需要图片。这里就需要定制。怎么办呢,我采用了适配模式,大家都还记得 ListView的用法,我这里也借鉴了一下:

public void setAdapter(ListAdapter mAdapter) {        this.mAdapter = mAdapter;

}123

这样就可以实现Menu的高度定制。

2、构建菜单项

代码参考buildMenuItems(),对mAdapter遍历获取子View,添加点击事件,调用addView()添加到ViewGroup,这个时候系统就会调用onMeasure()对子View计算大小。

3、计算item大小

代码参考measureMyself()和measureChildViews(),确定每个item的尺寸大小。

4、item布局

首先计算item(x,y)距离圆心的长度,我画了一个草图:

int x = (int) Math.round(Math.sin(Math.toRadians(a)) * temp); int y = (int) Math.round(Math.cos(Math.toRadians(a)) * temp);12

temp我赋值为半径的三分之二,当然你可以更改成你满意的长度。

然后要计算(x,y)的坐标,通过坐标项象来计算:

if (x = 0 y = 0) {  //第二项象

x = mRadius - Math.abs(x);

y = mRadius - y;

} else if (x = 0 y = 0) {//第三项象

y = mRadius + Math.abs(y);

x = mRadius - Math.abs(x);

} else if (x = 0 y = 0) {//第四项象

y = mRadius + Math.abs(y);

x = mRadius + x;

} else if (x = 0 y = 0) {//第一项象

x = mRadius + x;

y = mRadius - Math.abs(y);

}12345678910111213

计算到这来,你可能已经发现了问题,如果用(x,y)坐标来表示菜单项的left 和 top位置,那么你会发现整个item相对于父控件是向右下偏移了。为了解决偏移问题,我采用了item控件的中心点来表示菜单项的left 和 top位置。

x = x - item的宽度/ 2;

y = y - item的高度 / 2;12

最后调用layout()方法,确定item的位置。

5、手势旋转

上面已经完成了静态的Menu,那么怎么才能通过滑动阴影部分使Menu旋转起来呢?

需要重写onTouchEvent()方法,并把返回值改为true。处理手势按下(ACTION_DOWN),抬起(ACTION_UP)的状态。

首先我们要判断手指按下是否在阴影局域内。注意手指按下是指尖局域与屏幕接触,并不是一点,所以有误差。

x = event.getX();

y = event.getY();if ((x - 圆心x) * (x - 圆心x) + (y - 圆心y) * (y - 圆心y) (圆心x+ 误差) * (圆心y+ 误差)) {

isRange = true;

}12345

然后我们要计算运动的速度,我刚开始的想法是用重力加速度,非常感谢我同事小贾,他给了我更好的意见:速度=距离/时间。

ACTION_DOWN:

lastTouchTime = System.currentTimeMillis();1

ACTION_UP:

long timeStamp = System.currentTimeMillis() - lastTouchTime;float distance = (float) Math.sqrt((x1 - x) * (x1 - x) + (y1 - y) * (y1 - y)); float speed = distance / timeStamp;123

然后我们通过对比手指按下的x的坐标,和抬起x的坐标,来判断用户是向左滑,还是右滑。

if (x1 - x 0) {

isLeft = false;

} else {

isLeft = true;

}12345

最后通过handler来改变每次运动的角度,使Menu很自然的旋转了起来:

if (isLeft) {                        //向左转动

offsetRotation -= ANGLE;

} else {                        //向右转动

offsetRotation += ANGLE;

}                    //速度衰减

speed -= SPEED_ATTENUATION;

invalidate();//重绘

handler.sendEmptyMessageDelayed(EMPTY_MESSAGE, 50);1234567891011

使用

1、xml布局

com.github.ws.viewdemo.widget.CircleMenuLayout

android:id="@+id/cm"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="#f0f0f0"

/com.github.ws.viewdemo.widget.CircleMenuLayout1234567

2、class文件

circleMenuLayout.setAdapter(new MyAdapter());

circleMenuLayout.setOnItemClickListener(new CircleMenuLayout.OnItemClickListener() {

@Override            public void onItemClickListener(View v, int position) {

Toast.makeText(MainActivity.this, mList.get(position).text + "", Toast.LENGTH_SHORT).show();

}

});12345678

源码我已上传到github,地址,再一次感谢大家的关注。

android 点击按钮时显示菜单应怎样实现?

点击button弹出对话框菜单

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

publicclass choice extends Activity {

private Button button;

/** Called when the activity is first created. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

button=(Button)findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener(){

@Override

publicvoid onClick(View arg0) {

new AlertDialog.Builder(choice.this)

.setTitle("choice")

.setItems(R.array.str_body, new DialogInterface.OnClickListener() {

@Override

publicvoid onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

String[] aryshop=getResources().getStringArray(R.array.str_body);

new AlertDialog.Builder(choice.this)

.setMessage(aryshop[arg1])

.setNegativeButton("ok", new DialogInterface.OnClickListener() {

@Override

publicvoid onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

}

}).show();

}

}).show();

// TODO Auto-generated method stub

}});

}

}

菜单项

?xmlversion="1.0"encoding="utf-8"?

resources

stringname="hello"Hello World, choice!/string

stringname="app_name"ChoiceMenu/string

stringname="strtitle"按我选择:/string

stringname="str"你选择的是:/string

arrayname="str_body"

item选项1/item

item选项2/item

item选项3/item

item选项4/item

item选项5/item

item选项6/item

/array

/resources

android怎么创建菜单

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),以下说的是创建OptionsMenu 

 一、概述

public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。

public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作。

public void onOptionsMenuClosed(Menu menu):菜单关闭后发生的动作。

public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单。

public boolean onMenuOpened(int featureId, Menu menu):单打开后发生的动作。

二、默认样式

默认样式是在屏幕底部弹出一个菜单,这个菜单我们就叫他选项菜单OptionsMenu,一般情况下,选项菜单最多显示2排每排3个菜单项,这些菜单项有文字有图标,也被称作Icon Menus,如果多于6项,从第六项开始会被隐藏,在第六项会出现一个More里,点击More才出现第六项以及以后的菜单项,这些菜单项也被称作Expanded Menus。下面介绍。

1.main.xml

?xml version="1.0" encoding="utf-8"?

LinearLayout xmlns:android=""

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent" 

TextView android:layout_width="wrap_content"

android:layout_height="wrap_content" android:text="请点击 Menu键显示选项菜单"

android:id="@+id/TextView02" /

/LinearLayout

 2。重载onCreateOptionsMenu(Menu menu)方法

重载onCreateOptionsMenu(Menu menu)方法,并在此方法中添加菜单项,最后返回true,如果false,菜单则不会显示。

public boolean onCreateOptionsMenu(Menu menu)

@Override

public boolean onCreateOptionsMenu(Menu menu) {

/*

* add()方法的四个参数,依次是:

* 1、组别,如果不分组的话就写Menu.NONE,

* 2、Id,这个很重要,Android根据这个Id来确定不同的菜单

* 3、顺序,那个菜单现在在前面由这个参数的大小决定

* 4、文本,菜单的显示文本

*/

menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon(

android.R.drawable.ic_menu_delete);

// setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以

// android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的

menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon(

android.R.drawable.ic_menu_edit);

menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon(

android.R.drawable.ic_menu_help);

menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon(

android.R.drawable.ic_menu_add);

menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon(

android.R.drawable.ic_menu_info_details);

menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon(

android.R.drawable.ic_menu_send);

return true;

}

3。为菜单项注册事件

使用onOptionsItemSelected(MenuItem item)方法为菜单项注册事件

public boolean onOptionsItemSelected(MenuItem item)

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case Menu.FIRST + 1:

Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 2:

Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 3:

Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 4:

Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 5:

Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 6:

Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_LONG).show();

break;

}

return false;

}

4.完整代码

package com.android.menu;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.Toast;

public class DefaultMenu extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

/*

* add()方法的四个参数,依次是:

* 1、组别,如果不分组的话就写Menu.NONE,

* 2、Id,这个很重要,Android根据这个Id来确定不同的菜单

* 3、顺序,那个菜单现在在前面由这个参数的大小决定

* 4、文本,菜单的显示文本

*/

menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon(

android.R.drawable.ic_menu_delete);

// setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以

// android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的

menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon(

android.R.drawable.ic_menu_edit);

menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon(

android.R.drawable.ic_menu_help);

menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon(

android.R.drawable.ic_menu_add);

menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon(

android.R.drawable.ic_menu_info_details);

menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon(

android.R.drawable.ic_menu_send);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case Menu.FIRST + 1:

Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 2:

Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 3:

Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 4:

Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 5:

Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_LONG).show();

break;

case Menu.FIRST + 6:

Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_LONG).show();

break;

}

return false;

}

@Override

public void onOptionsMenuClosed(Menu menu) {

Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show();

}

@Override

public boolean onPrepareOptionsMenu(Menu menu) {

Toast.makeText(this,

"选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单",

Toast.LENGTH_LONG).show();

// 如果返回false,此方法就把用户点击menu的动作给消费了,onCreateOptionsMenu方法将不会被调用

return true;

}

}

5.运行效果

关于menu的更多用法,参考


网站栏目:菜单android,菜单价格表
本文地址:http://6mz.cn/article/dsdecci.html

其他资讯