改變菜單的字體的屬性

public static final int MI_FINISH = Menu.FIRST;
public static final int MI_ADDTASK = Menu.FIRST + 1;

 public boolean onCreateOptionsMenu(android.view.Menu menu) {
    menu.clear();
    setMenuBackground();
    menu.add(0, MI_FINISH, 0, "準(zhǔn)備完成");
    menu.add(0, MI_ADDTASK, 0, "增加到標(biāo)簽");
    return true;
  }

  private void setMenuBackground() {
    // TODO Auto-generated method stub
    getLayoutInflater().setFactory(new Factory() {

        @Override
        public View onCreateView(final String name, final Context context,
                                 final AttributeSet attrs) {

  if(name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {

                try { // Ask our inflater to create the view
                    final LayoutInflater f = getLayoutInflater();
                    final View[] view = new View[1];
                    try {
                        view[0] = f.createView(name, null, attrs);
                    } catch (InflateException e) {
                        chaneDeafultMenu(name, attrs, f, view);
                    }
                    // Kind of apply our own background
                    new Handler().post(new Runnable() {
                        @Override
                        public void run() {

                            ((TextView) view[0]).setTextColor(Color.WHITE);
                            ((TextView) view[0]).setTextSize(32F);
                            ((TextView) view[0])
                                    .setTypeface(Typeface.SANS_SERIF);
                        }
                    });
                    return view[0];
                } catch (InflateException e) {
                } catch (ClassNotFoundException e) {

                }
            }
            return null;
        }
    });
}

static void chaneDeafultMenu(final String name,
                             final android.util.AttributeSet attrs, final LayoutInflater f,
                             final View[] view) {
    // mConstructorArgs[0] is only non-null during a running call to
    // inflate()
    // so we make a call to inflate() and inside that call our dully
    // XmlPullParser get's called
    // and inside that it will work to call
    // "f.createView( name, null, attrs );"!
    try {
        f.inflate(new XmlPullParser() {
            @Override
            public int next() throws XmlPullParserException, IOException {
                try {
                    view[0] = f.createView(name, null, attrs);
                } catch (InflateException e) {
                } catch (ClassNotFoundException e) {
                }
                throw new XmlPullParserException("exit");
            }

            @Override
            public void defineEntityReplacementText(String arg0, String arg1)
                    throws XmlPullParserException {
                // TODO Auto-generated method stub

            }

            @Override
            public int getAttributeCount() {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public String getAttributeName(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getAttributeNamespace(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getAttributePrefix(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getAttributeType(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getAttributeValue(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getAttributeValue(String arg0, String arg1) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public int getColumnNumber() {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public int getDepth() {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public int getEventType() throws XmlPullParserException {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public boolean getFeature(String arg0) {
                // TODO Auto-generated method stub
                return false;
            }

            @Override
            public String getInputEncoding() {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public int getLineNumber() {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public String getName() {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getNamespace() {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getNamespace(String arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public int getNamespaceCount(int arg0)
                    throws XmlPullParserException {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public String getNamespacePrefix(int arg0)
                    throws XmlPullParserException {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getNamespaceUri(int arg0)
                    throws XmlPullParserException {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getPositionDescription() {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getPrefix() {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public Object getProperty(String arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public String getText() {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public char[] getTextCharacters(int[] arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public boolean isAttributeDefault(int arg0) {
                // TODO Auto-generated method stub
                return false;
            }

            @Override
            public boolean isEmptyElementTag()
                    throws XmlPullParserException {
                // TODO Auto-generated method stub
                return false;
            }

            @Override
            public boolean isWhitespace() throws XmlPullParserException {
                // TODO Auto-generated method stub
                return false;
            }

            @Override
            public int nextTag() throws XmlPullParserException, IOException {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public String nextText() throws XmlPullParserException,
                    IOException {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public int nextToken() throws XmlPullParserException,
                    IOException {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public void require(int arg0, String arg1, String arg2)
                    throws XmlPullParserException, IOException {
                // TODO Auto-generated method stub

            }

            @Override
            public void setFeature(String arg0, boolean arg1)
                    throws XmlPullParserException {
                // TODO Auto-generated method stub

            }

            @Override
            public void setInput(Reader arg0) throws XmlPullParserException {
                // TODO Auto-generated method stub

            }

            @Override
            public void setInput(InputStream arg0, String arg1)
                    throws XmlPullParserException {
                // TODO Auto-generated method stub

            }

            @Override
            public void setProperty(String arg0, Object arg1)
                    throws XmlPullParserException {
                // TODO Auto-generated method stub

            }
        }, null, false);
    } catch (InflateException e1) {
        // "exit" ignored
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末获茬,一起剝皮案震驚了整個(gè)濱河市达舒,隨后出現(xiàn)的幾起案子字柠,更是在濱河造成了極大的恐慌,老刑警劉巖强窖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鸟废,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門姑荷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)盒延,“玉大人,你說(shuō)我怎么就攤上這事鼠冕√硭拢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵懈费,是天一觀的道長(zhǎng)计露。 經(jīng)常有香客問(wèn)我,道長(zhǎng)憎乙,這世上最難降的妖魔是什么票罐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮泞边,結(jié)果婚禮上该押,老公的妹妹穿的比我還像新娘。我一直安慰自己阵谚,他們只是感情好蚕礼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著梢什,像睡著了一般奠蹬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绳矩,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天罩润,我揣著相機(jī)與錄音,去河邊找鬼翼馆。 笑死割以,一個(gè)胖子當(dāng)著我的面吹牛金度,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播严沥,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼猜极,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了消玄?” 一聲冷哼從身側(cè)響起跟伏,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翩瓜,沒(méi)想到半個(gè)月后受扳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兔跌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年勘高,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坟桅。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡华望,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仅乓,到底是詐尸還是另有隱情赖舟,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布夸楣,位于F島的核電站宾抓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏裕偿。R本人自食惡果不足惜洞慎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嘿棘。 院中可真熱鬧劲腿,春花似錦、人聲如沸鸟妙。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)重父。三九已至花椭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間房午,已是汗流浹背矿辽。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袋倔。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓雕蔽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親宾娜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子批狐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容