如何实现没有标签的自定义菜单?

时间:2012-04-29 18:48:46

标签: java android xml menu

http://i1254.photobucket.com/albums/hh620/Mike_Mccone/menu.png

我有一个上面链接的菜单,我想在我的所有活动中出现。我显然可以在每个活动布局中包含菜单的xml,并在每个活动中对我的听众进行编码,但我宁愿不必对我的所有15个活动进行此操作。

我尝试创建和扩展自定义基本活动,但没有用,因为我无法为每个活动设置不同的布局。

在不使用标签的情况下实现这样的菜单的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

除了使用Fragments或Actionbar(Sherlock)之外你可能会这样做:

public class MenuActivity extends Activity {
    private FrameLayout mContainer;
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        // Layout that has menu on top and an empty
        // FrameLayout below
        setContentView(R.layout.main);
        mContainer = (FrameLayout) findViewById(R.id.frame_layout);
        // add click listeners to menu and let them call
        // onMenuItemClicked() or whatever you wish to do
    }

    @Override
    public void setContentView(View view) {
        mContainer.removeAllViews();
        mContainer.addView(view);
    }

    protected void onMenuItemClicked(){ /* or abstract */ }
}

设置一个包含顶部菜单和下面空白内容的布局(例如FrameLayout)并覆盖setContentView,以便在空布局中设置内容。

然后将您的活动基于此课程并照常使用。也许添加菜单按钮处理。