【发布时间】:2018-05-09 01:19:49
【问题描述】:
如何在所有活动中显示我的导航抽屉
在 android studio 中创建一个新项目并有一个导航抽屉活动后,我运行它,但它没有显示在我的所有活动中。 (我没有添加任何代码,只是创建 活动并运行它)。我想知道如何显示导航 抽屉里的所有活动,有什么办法吗?
【问题讨论】:
-
在导航抽屉活动页面中使用片段
如何在所有活动中显示我的导航抽屉
在 android studio 中创建一个新项目并有一个导航抽屉活动后,我运行它,但它没有显示在我的所有活动中。 (我没有添加任何代码,只是创建 活动并运行它)。我想知道如何显示导航 抽屉里的所有活动,有什么办法吗?
【问题讨论】:
您可以将导航抽屉与一个活动绑定。导航抽屉将仅显示在您创建的活动中。如果您想在所有应用程序中查看导航抽屉,您可以添加一帧布局并在其中添加片段以实现应用程序功能。该应用程序将是具有多个片段的单个 Activity。
以下是添加片段的代码。 :
Fragment fragment = new PlanetFragment();
Bundle args = new Bundle();
args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
fragment.setArguments(args);
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment)
.commit();
更多详情:查看此链接。 https://developer.android.com/training/implementing-navigation/nav-drawer.html
编辑
无片段
您可以创建一个BaseActivity,所有activity 都将扩展BaseActivity。您需要将navigation drawer 与BaseActivity 绑定。这样,您就可以实现您想要的。
BaseActivity.Java
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DrawerLayout fullView = (DrawerLayout)
getLayoutInflater().inflate(R.layout.activity_base, null);
FrameLayout activityContainer = (FrameLayout)
fullView.findViewById(R.id.activity_content);
getLayoutInflater().inflate(layoutResID, activityContainer, true);
super.setContentView(fullView);
}
}
【讨论】: