http://i1254.photobucket.com/albums/hh620/Mike_Mccone/menu.png
我有一个上面链接的菜单,我想在我的所有活动中出现。我显然可以在每个活动布局中包含菜单的xml,并在每个活动中对我的听众进行编码,但我宁愿不必对我的所有15个活动进行此操作。
我尝试创建和扩展自定义基本活动,但没有用,因为我无法为每个活动设置不同的布局。
在不使用标签的情况下实现这样的菜单的最佳方法是什么?
答案 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
,以便在空布局中设置内容。
然后将您的活动基于此课程并照常使用。也许添加菜单按钮处理。