-1

次のコードを使用して、オプション メニューの背景を正常にカスタマイズしました。

getLayoutInflater().setFactory(new Factory() {
    @Override
    public View onCreateView(String name, Context context, AttributeSet attrs) {
        if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
            try { // Ask our inflater to create the view
                LayoutInflater f = getLayoutInflater();
                final View view = f.createView(name, null, attrs);
                /*
                 * The background gets refreshed each time a new item is
                 * added the options menu. So each time Android applies
                 * the default background we need to set our own
                 * background. This is done using a thread giving the
                 * background change as runnable object
                 */
                new Handler().post(new Runnable() {
                    public void run() {
                        view.setBackgroundResource(R.drawable.blue_bg_pixel);
                    }
                });
                return view;
            }
            catch (InflateException e) {
            }
            catch (ClassNotFoundException e) {
            }
        }
        return null;
    }
});

ここで、メニューのサイズ、テキストのサイズ/色をカスタマイズする必要があります。誰でもこれで私を助けてください。

前もって感謝します。

4

2 に答える 2

0

これは Android 2.3 では失敗します

http://code.google.com/p/android/issues/detail?id=4441#c6 および Android 2.3 でメニューの背景色を変更するを参照して ください。

詳細については

于 2011-04-13T09:12:42.977 に答える
0

幅、高さにはハック アクション バーが必要です。

ただし、カスタマイズが必要な場合は、以下を使用してください: ActionBarGenerator ( http://jgilfelt.github.io/android-actionbarstylegenerator/ )

于 2014-06-13T22:43:02.090 に答える