真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

androidmenu,androidmenu默認(rèn)圖標(biāo)如何修改顏色

android menu 有什么用

android 中的menu一般是指上下文菜單或者是選項(xiàng)菜單 其中上選項(xiàng)菜單是可以在布局中res下的menu中在xml布局中寫好布局來(lái)的然后通過(guò)java代碼中的onCreateOptionsMenu來(lái)加載選項(xiàng)菜單,android4.4高級(jí)版本后是自動(dòng)把菜單加載到標(biāo)題欄上的,而不是低版本的按下menu鍵才顯是出來(lái)的,上下文菜單是是通過(guò)onCreateContextMenu這個(gè)方法來(lái)注冊(cè)上下文菜單的 下面講講如何獲取menu中的item 獲取上下文菜單的item其實(shí)就是當(dāng)單機(jī)選項(xiàng)菜單時(shí)會(huì)觸發(fā)這個(gè)方法 public boolean onContextItemSelected(MenuItem mi){//判斷單擊的是哪個(gè)菜單項(xiàng),并針對(duì)性的作出響應(yīng)。switch (mi.getItemId()){case FONT_RED:title.setTextColor(Color.RED);break;case FONT_GREEN:title.setTextColor(Color.GREEN);break;case FONT_BLUE:title.setTextColor(Color.BLUE);break;case MENU1:createdialog();break;}return true;}獲取選項(xiàng)菜單的item其實(shí)就是當(dāng)單擊選項(xiàng)菜單時(shí)會(huì)觸發(fā)這個(gè)方法public boolean onMenuItemSelected(int featureId, MenuItem item) {// 利用switch根據(jù)ItemId區(qū)分點(diǎn)擊的是哪個(gè)菜單 以便正確響應(yīng)用戶操作MenuItem temp= item;switch (item.getItemId()) {case R.id.rename:createdialog();break;case R.id.red:title.setTextColor(Color.RED);break;case R.id.green:title.setTextColor(Color.GREEN);break;case R.id.blue:title.setTextColor(Color.BLUE);break; // case R.id.choose_color: // createpopupmenu(temp); // break;}return super.onMenuItemSelected(featureId, item);}

10年積累的網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有十堰鄖陽(yáng)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

android中menu怎么寫

菜單資源文件必須放在res/menu目錄中。菜單資源文件必須使用menu標(biāo)簽作為根節(jié)點(diǎn)。除了menu標(biāo)簽外,還有另外兩個(gè)標(biāo)簽用于設(shè)置菜單項(xiàng)和分組,這兩個(gè)標(biāo)簽是item和group。

menu標(biāo)簽沒(méi)有任何屬性,但可以嵌套在item標(biāo)簽中,表示子菜單的形式。不過(guò)item標(biāo)簽中不能再嵌入item標(biāo)簽。

1.item標(biāo)簽的屬性含義如下:

Id:表示菜單項(xiàng)的資源ID

menuCategory:同種菜單項(xiàng)的種類。該屬性可取4個(gè)值:container、system、secondary和alternative。通過(guò)menuCategroy屬性可以控制菜單項(xiàng)的位置。例如將屬性設(shè)為system,表示該菜單項(xiàng)是系統(tǒng)菜單,應(yīng)放在其他種類菜單項(xiàng)的后面。

orderInCategor:同種類菜單的排列順序。該屬性需要設(shè)置一個(gè)整數(shù)值。例如menuCategory屬性值都為system的3個(gè)菜單項(xiàng)(item1、item2和item3)。將這3個(gè)菜單項(xiàng)的orderInCategory屬性值設(shè)為3、2、1,那么item3會(huì)顯示在最前面,而item1會(huì)顯示在最后面。

title:菜單項(xiàng)標(biāo)題(菜單項(xiàng)顯示的文本)

titleCondensed:菜單項(xiàng)的短標(biāo)題。當(dāng)菜單項(xiàng)標(biāo)題太長(zhǎng)時(shí)會(huì)顯示該屬性值

icon:菜單項(xiàng)圖標(biāo)資源ID

alphabeticShortcut:菜單項(xiàng)的字母快捷鍵

numericShortcut:菜單項(xiàng)的數(shù)字快捷鍵

checkable:表示菜單項(xiàng)是否帶復(fù)選框。該屬性可設(shè)計(jì)為true或false

checked:如果菜單項(xiàng)帶復(fù)選框(checkable屬性為true),該屬性表示復(fù)選框默認(rèn)狀態(tài)是否被選中??稍O(shè)置的值為true或false

visible:菜單項(xiàng)默認(rèn)狀態(tài)是否可視

enable:菜單項(xiàng)默認(rèn)狀態(tài)是否被激活

android中menu可能需要重寫的方法是哪些

可能需要重寫的如下:

public boolean onCreateOptionsMenu(Menu menu)方法只被系統(tǒng)調(diào)用一次,如需要?jiǎng)討B(tài)更改菜單內(nèi)容還需重寫onPrepareOptionsMenu(Menu menu)方法實(shí)現(xiàn)

[java] view plain copy

Menu m=null;

int count=0;

@Override

public boolean onPrepareOptionsMenu(Menu menu) {

if(count0){

if(count%2==0){

menu.removeGroup(1);

}else{

menu.add(1, Menu.FIRST, 0, "5st");

menu.add(1, Menu.FIRST+1, 0, "6st");

}

}

count++;

return super.onPrepareOptionsMenu(menu);

}

2,context menu(長(zhǎng)按屏幕產(chǎn)生)

[java] view plain copy

@Override

public boolean onContextItemSelected(MenuItem item) {

switch (item.getItemId()) {

case 1:

Toast.makeText(this, "you select"+item.getItemId(), 500).show();

break;

case 2:

Toast.makeText(this, "you select"+item.getItemId(), 500).show();

break;

}

return super.onContextItemSelected(item);

}

@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

menu.add(0, Menu.FIRST, 0, "1st");

menu.add(0, Menu.FIRST+1, 0, "2st");

super.onCreateContextMenu(menu, v, menuInfo);

}

Android如何自定義Menu

新建自定義Menu————TabMenu.java如下:

package com.ncw;

import android.content.Context;

import android.graphics.Color;

import android.graphics.drawable.ColorDrawable;

import android.view.Gravity;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.PopupWindow;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.LinearLayout.LayoutParams;

public class TabMenu extends PopupWindow {

private GridView gridView;

private LinearLayout mLayout;

public TabMenu(Context context, OnItemClickListener bodyClick, int colorBgTabMenu) {

super(context);

mLayout = new LinearLayout(context);

mLayout.setOrientation(LinearLayout.VERTICAL);

gridView = new GridView(context);

gridView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,

LayoutParams.WRAP_CONTENT));

gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));// 選中的時(shí)候?yàn)橥该魃?/p>

gridView.setNumColumns(4);

gridView.setStretchMode(GridView.STRETCH_COLUMN_WIDTH);

gridView.setVerticalSpacing(0);

gridView.setHorizontalSpacing(0);

gridView.setPadding(0, 0, 0, 0);

gridView.setGravity(Gravity.CENTER);

gridView.setOnItemClickListener(bodyClick);

mLayout.addView(gridView);

// 設(shè)置默認(rèn)項(xiàng)

this.setContentView(mLayout);

this.setWidth(LayoutParams.FILL_PARENT);

this.setHeight(LayoutParams.WRAP_CONTENT);

this.setBackgroundDrawable(new ColorDrawable(colorBgTabMenu));// 設(shè)置TabMenu菜單背景

this.setFocusable(true);// menu菜單獲得焦點(diǎn) 如果沒(méi)有獲得焦點(diǎn)menu菜單中的控件事件無(wú)法響應(yīng)

}

public void SetBodySelect(int index, int colorSelBody) {

int count = gridView.getChildCount();

for (int i = 0; i count; i++) {

if (i != index)

((LinearLayout) gridView.getChildAt(i))

.setBackgroundColor(Color.TRANSPARENT);

}

((LinearLayout) gridView.getChildAt(index))

.setBackgroundColor(colorSelBody);

}

public void SetBodyAdapter(MenuBodyAdapter bodyAdapter) {

gridView.setAdapter(bodyAdapter);

}

/**

* 自定義Adapter,TabMenu的每個(gè)分頁(yè)的主體

*

*/

static public class MenuBodyAdapter extends BaseAdapter {

private Context mContext;

private int[] resID;

/**

* 設(shè)置TabMenu的分頁(yè)主體

*

* @param context

*??????????? 調(diào)用方的上下文

* @param resID

*/

public MenuBodyAdapter(Context context, int[] resID) {

this.mContext = context;

this.resID = resID;

}

@Override

public int getCount() {

return resID.length;

}

public Object getItem(int position) {

return makeMenyBody(position);

}

public long getItemId(int position) {

return position;

}

private LinearLayout makeMenyBody(int position) {

LinearLayout result = new LinearLayout(this.mContext);

result.setOrientation(LinearLayout.VERTICAL);

result.setGravity(Gravity.CENTER_HORIZONTAL

| Gravity.CENTER_VERTICAL);

result.setPadding(0, 0, 0, 0);

ImageView img = new ImageView(this.mContext);

img.setBackgroundResource(resID[position]);

result.addView(img, new LinearLayout.LayoutParams(new LayoutParams(

LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)));

return result;

}

public View getView(int position, View convertView, ViewGroup parent) {

return makeMenyBody(position);

}

}

}

?

1

使用自定義Menu————testTabMenu.java

package com.ncw;

import android.app.Activity;

import android.graphics.Color;

import android.os.Bundle;

import android.util.Log;

import android.view.Gravity;

import android.view.Menu;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

public class testTabMenu extends Activity {

TabMenu.MenuBodyAdapter bodyAdapter = new TabMenu.MenuBodyAdapter(this,

new int[] { R.drawable.menu_01, R.drawable.menu_02,

R.drawable.menu_03, R.drawable.menu_04 });

TabMenu tabMenu;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

tabMenu = new TabMenu(this, new BodyClickEvent(), R.drawable.menu_bg);// 出現(xiàn)與消失的動(dòng)畫

tabMenu.update();

tabMenu.SetBodyAdapter(bodyAdapter);

}

class BodyClickEvent implements OnItemClickListener {

@Override

public void onItemClick(AdapterView? arg0, View arg1, int arg2,

long arg3) {

tabMenu.SetBodySelect(arg2, Color.GRAY);

Log.i("Log", " BodyClickEvent implements OnItemClickListener "

+ arg2);

}

}

@Override

/**

* 創(chuàng)建MENU

*/

public boolean onCreateOptionsMenu(Menu menu) {

menu.add("menu");// 必須創(chuàng)建一項(xiàng)

return super.onCreateOptionsMenu(menu);

}

@Override

/**

* 攔截MENU

*/

public boolean onMenuOpened(int featureId, Menu menu) {

if (tabMenu != null) {

if (tabMenu.isShowing())

tabMenu.dismiss();

else {

tabMenu.showAtLocation(findViewById(R.id.LinearLayout01),

Gravity.BOTTOM, 0, 0);

}

}

return false;// 返回為true 則顯示系統(tǒng)menu

}

}

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

LinearLayout xmlns:android=""

android:id="@+id/LinearLayout01"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

TextView

android:id="@+id/TextView01"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="自定義Menu————張亞龍"

/TextView

/LinearLayout

運(yùn)行效果圖:

android menu屬性

這是監(jiān)聽(tīng)手機(jī)上的主菜單文件的,點(diǎn)擊手機(jī)菜單鍵,會(huì)彈出一個(gè)菜單,1代表第一行命令,點(diǎn)擊就是推出程序,點(diǎn)擊第二個(gè)就是彈出軟件的介紹。

android如何在系統(tǒng)導(dǎo)航欄旁顯示menu按鍵

要想讓menu按鍵顯示在系統(tǒng)導(dǎo)航欄旁,需要改變AndroidManifest內(nèi)的

內(nèi)的最小

sdk版本。最高為10,不得高于10,否則無(wú)法現(xiàn)實(shí)在系統(tǒng)導(dǎo)航欄旁。個(gè)人想法是:Android3.0后加入了ActionBar控件和虛擬的按鍵,而ActionBar整合了menu功能導(dǎo)致android3.0以上的menu按鈕只能現(xiàn)實(shí)在ActionBar上,無(wú)法顯示在系統(tǒng)導(dǎo)航欄旁。


文章標(biāo)題:androidmenu,androidmenu默認(rèn)圖標(biāo)如何修改顏色
鏈接分享:http://weahome.cn/article/dsdjphd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部