我正在构建一个Android应用程序,我希望所有的活动(屏幕)都有一个导航抽屉(其中包含除了标题之外的图标)这样做我发现它可以继承并且我尝试了很多解决方案在这里提供,但我无法解决困难的部分(处理不同的布局)
答案 0 :(得分:1)
我必须做类似的事情,但我们使用的是片段,所以对我来说非常简单。它可能会对你有帮助。
您需要基本活动布局
// res/layout/activity_base.xml
<!-- parent layout -->
<FrameLayout
android:id="@+id/container"
</FrameLayout>
<!-- drawer layout and other views -->
在包含抽屉布局的基本活动中处理抽屉布局的所有代码,并且还有一个设置片段的方法。
public class BaseActivity extends FragmentActivity{
@Override
protected void onCreate(Bundle savedInstance){
setContentView(R.layout.activity_base.xml);
// your rest of the code including drawer layout
}
}
protected void setFragment(Fragment f){
getSupportFragmentManager.beginTransaction()
.replace(R.id.container,f)
.commit()
}
对于想要具有drawerlayout的其他活动,只需扩展BaseActivity并使用setFragment设置片段。关键是FooActivity没有自己的活动布局,它使用BaseActivity布局并放置自己的片段。
public class FooActivity extends BaseActivity{
@Override
protected void onCreate(Bundle
setFragment(FooFragment.newInstance());
}
}