最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程實(shí)現(xiàn)自定義系統(tǒng)菜單背景的方法

 更新時間:2016年01月06日 16:09:23   作者:Sodino  
這篇文章主要介紹了Android編程實(shí)現(xiàn)自定義系統(tǒng)菜單背景的方法,涉及Android菜單menu的實(shí)現(xiàn)及背景圖片的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)自定義系統(tǒng)菜單背景的方法。分享給大家供大家參考,具體如下:

不多說,上圖,見代碼。

package lab.sodino.menutest;
import android.content.Context;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.InflateException;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
/**
 * @author Sodino E-mail:sodinoopen@hotmail.com
 * @version Time:2011-1-26 下午04:42:04
 */
public class MenuAct extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = new MenuInflater(getApplicationContext());
    inflater.inflate(R.menu.menu, menu);
    setMenuBackground();
    return true;
  }
  public boolean onOptionsItemSelected(MenuItem item) {
    String info = "";
    switch (item.getItemId()) {
    case R.id.menu_add:
      info = "Add";
      break;
    case R.id.menu_delete:
      info = "Delete";
      break;
    case R.id.menu_home:
      info = "Home";
      break;
    case R.id.menu_help:
      info = "Help";
      break;
    default:
      info = "NULL";
      break;
    }
    Toast toast = Toast.makeText(this, info, Toast.LENGTH_SHORT);
    toast.show();
    return super.onOptionsItemSelected(item);
  }
  // 關(guān)鍵代碼為重寫Layout.Factory.onCreateView()方法自定義布局
  protected void setMenuBackground() {
    MenuAct.this.getLayoutInflater().setFactory(new android.view.LayoutInflater.Factory() {
      /**
       * name - Tag name to be inflated.<br/>
       * context - The context the view is being created in.<br/>
       * attrs - Inflation attributes as specified in XML file.<br/>
       */
      public View onCreateView(String name, Context context, AttributeSet attrs) {
        // 指定自定義inflate的對象
        if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
          try {
            LayoutInflater f = getLayoutInflater();
            final View view = f.createView(name, null, attrs);
            new Handler().post(new Runnable() {
              public void run() {
                // 設(shè)置背景圖片
                view.setBackgroundResource(R.drawable.menu_background);
              }
            });
            return view;
          } catch (InflateException e) {
            e.printStackTrace();
          } catch (ClassNotFoundException e) {
            e.printStackTrace();
          }
        }
        return null;
      }
    });
  }
}

/res/menu/menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/menu_add" android:title="Add" android:icon="@drawable/menu_add"></item>
  <item android:id="@+id/menu_delete" android:title="Delete" android:icon="@drawable/menu_delete"></item>
  <item android:id="@+id/menu_home" android:title="Home" android:icon="@drawable/menu_home"></item>
  <item android:id="@+id/menu_help" android:title="Help" android:icon="@drawable/menu_help"></item>
</menu>

希望本文所述對大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 總結(jié)安卓(Android)中常用的跳轉(zhuǎn)工具

    總結(jié)安卓(Android)中常用的跳轉(zhuǎn)工具

    在大家日常開發(fā)的時候經(jīng)常會用到各式各樣的跳轉(zhuǎn),如跳轉(zhuǎn)到QQ、微信聊天界面、跳轉(zhuǎn)到聯(lián)系人界面或者跳轉(zhuǎn)到瀏覽器和照相機(jī)等等之類的,本文將常用到的一些跳轉(zhuǎn)集合到一起,這樣更方便大家以后使用,有需要的小伙伴們可以參考借鑒。
    2016-08-08
  • Android如何實(shí)現(xiàn)時間線效果(下)

    Android如何實(shí)現(xiàn)時間線效果(下)

    上一篇文章我們講了Android如何實(shí)現(xiàn)時間線效果,今天計(jì)息上一回的文章圍繞Android實(shí)現(xiàn)時間線效果內(nèi)容展開更多,需要的朋友可以參考一下
    2021-11-11
  • Studio 編譯報(bào)錯:compileSdkVersion ''android-24'' requires JDK 1.8 or later to compile.的解決辦法

    Studio 編譯報(bào)錯:compileSdkVersion ''android-24'' requires JDK 1.

    今天小編就為大家分享一篇關(guān)于Studio編譯報(bào)錯:compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 如何從外部瀏覽開啟Android App

    如何從外部瀏覽開啟Android App

    從瀏覽器中點(diǎn)擊某個按鈕,如果手機(jī)上裝有相應(yīng)的app,則直接開啟app,并且到相對的頁面。如果沒有裝該app,則會到相應(yīng)的下載app的界面。這樣的功能怎么實(shí)現(xiàn)呢,本文帶著大家來看看如何實(shí)現(xiàn)。
    2021-06-06
  • Android入門之使用RecyclerView完美實(shí)現(xiàn)瀑布流界面詳解

    Android入門之使用RecyclerView完美實(shí)現(xiàn)瀑布流界面詳解

    網(wǎng)上充滿著不完善的基于RecyclerView的瀑布流實(shí)現(xiàn),要么根本是錯的、要么就是只知其一不知其二。本文就來用RecyclerView完美實(shí)現(xiàn)瀑布流界面,希望大家有所幫助
    2023-02-02
  • android 支持的語言列表(匯總)

    android 支持的語言列表(匯總)

    本篇文章是對android支持的語言進(jìn)行了部分匯總,需要的朋友參考下
    2013-06-06
  • Android中CheckBox復(fù)選框控件使用方法詳解

    Android中CheckBox復(fù)選框控件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Android中CheckBox復(fù)選框控件的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • UI 開源組件Flutter圖表范圍選擇器使用詳解

    UI 開源組件Flutter圖表范圍選擇器使用詳解

    這篇文章主要為大家介紹了UI 開源組件Flutter圖表范圍選擇器使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Android自定義控件之自定義屬性(二)

    Android自定義控件之自定義屬性(二)

    這篇文章主要為大家詳細(xì)介紹了Android自定義控件之自定義屬性,如何給自定義控件自定義一些屬性,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android實(shí)用的Toast工具類封裝

    Android實(shí)用的Toast工具類封裝

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)用Toast工具類的封裝,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08

最新評論

长葛市| 临海市| 广平县| 五指山市| 洪湖市| 鸡泽县| 明星| 大渡口区| 徐水县| 南阳市| 湖北省| 扎兰屯市| 府谷县| 宁晋县| 沽源县| 曲阳县| 临城县| 安西县| 元朗区| 乌海市| 永年县| 长岭县| 盘山县| 勐海县| 仁化县| 东至县| 靖江市| 长治县| 巫溪县| 柘城县| 友谊县| 手游| 金阳县| 高唐县| 门头沟区| 井研县| 木兰县| 夏河县| 洞口县| 和顺县| 古丈县|