Articles of android navigation

没有Actionbar的导航抽屉

我搜索了很多站点(stackoverflow),但无法理解如何在没有操作栏的情况下实现导航抽屉。 我知道这个问题已在这里提出,但它没有正确的解释和代码。 我是android开发的初学者,所以任何人都可以用代码向我解释如何制作没有操作栏的导航抽屉 提前致谢!

没有显示的Recycler视图

我一直在制作一个应用程序,它在导航抽屉中使用回收器视图,以确定回收器视图的内容是如何显示的。 视图肯定是他们,因为我可以看到滚动阴影。 我不确定我是否做错了,因为应用程序在运行时不会崩溃。 导航抽屉片段: public class NavigationDrawerFragment extends android.support.v4.app.Fragment { public static final String PREF_FILE_NAME = “testPref”; public static final String KEY_USER_LEARNED_DRAWER = “user_learned_drawer”; private RecyclerView mRecyclerView; private ActionBarDrawerToggle mDrawerToggle; private DrawerLayout mDrawerLayout; private View containerView; private Boolean mUserLearnedDrawer; private Boolean mFromSavedInstanceState; private DrawerAdapter adapter; public NavigationDrawerFragment() { mFromSavedInstanceState = false; } @Override public void […]

如何实现android工具栏后退按钮

我正在使用自定义工具栏。 我需要添加回按钮。 现在我使用此代码添加后退按钮。 Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar); toolbar.setBackgroundColor(getResources().getColor(R.color.white)); toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.back_arrow)); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); 这很好用。 我可以看到添加了后退按钮。 但请考虑我在Fragment1中没有后退按钮的情况。 现在我转到Fragment2,然后添加Back Button。 从片段2我打开片段3然后我再次添加后退按钮。 现在,当我按下fragment3中的后退按钮返回到fragment2时,我必须检查片段堆栈以查看片段2中是否需要后退按钮。 当我们将片段推送到堆栈时,还有其他方法可以自动处理后退按钮吗?

Android Jetpack导航,使用Youtube或Instagram的BottomNavigationView,如正确的后退导航(片段后退堆栈)?

Android Jetpack导航,BottomNavigationView在后退按钮上点击自动片段后栈? 我想要的是,在用户一个接一个地选择多个标签后,用户点击后退按钮应用必须重定向到他/她打开的最后一页。 通过将当前选定的项目保存在ArrayList中,我使用Android ViewPager实现了相同的function。 Android Jetpack导航发布后是否有任何自动后退堆栈? 我想用导航图实现它 activity_main.xml中 navigation.xml 还补充道 bottomNavigation.setupWithNavController(Navigation.findNavController(this, R.id.my_nav_host_fragment)) 我从Levi Moreira那里得到了一个答案如下 navigation.setOnNavigationItemSelectedListener {item -> onNavDestinationSelected(item, Navigation.findNavController(this, R.id.my_nav_host_fragment)) } 但通过这样做只发生了最后打开的片段的实例再次创建。 为BottomNavigationView提供适当的后退导航

ViewPager PagerObserver未注册

当我关闭屏幕并重新打开时,我的应用程序关闭。 Logcat告诉我,这个错误的原因是指向我的CourseFragment.class中的java line 60,它扩展了Fragment。 mViewPager.setAdapter(infoTechPageAdapter); 我在CourseFragment.class中实现了一个ViewPager,它扩展了Fragment。 这是我的代码: public class CourseFragment extends Fragment { public static final String ARG_POSITION_NUMBER = “course_number”; private int position; public CourseFragment() { // Empty constructor required for fragment subclasses } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView; position = getArguments().getInt(“position”); String course = getResources().getStringArray( R.array.array_navigation_drawer)[position]; getActivity().setTitle(course); […]

Android:返回上一个片段

我已经实现了Navigation Drawer,它是Activity的子类。 我的应用程序中有很多片段。 我的问题在这里 想象一下有3个片段: Fragment_1:Fragment_2:Fragment_3 当我启动我的应用程序时,Fragment_1被加载当我点击Fragment_1上的一些组件时,我将导航到Fragment_2,依此类推。 就这样 Fragment_1> Fragment_2> Fragment_3 当我从Fragment_2按回键时,我将导航回Fragment_1但是当我从Fragment_3按回键时,我将导航回Fragment_1(而不是Fragment_2) 我在Back Key按下的应用程序中想要这样的东西 Fragment_1 <Fragment_2 <Fragment_3 我使用Fragment,FragmentManager,FragmentTransaction如下: MyFragment fragment = new MyFragment(); FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).addToBackStack(null)commit(); 我尝试在我的MainActivity中覆盖onBackPressed(): @Override public void onBackPressed() { getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); int count = getFragmentManager().getBackStackEntryCount(); if (count == 0) super.onBackPressed(); }

可以使用地图和waze的导航意图

我正在尝试从我的应用程序启动导航活动。 我希望它从我的位置开始导航到我提供的点。 我试过这种方式 String uri = “geo: “+String.valueOf(latitude) + “,” + String.valueOf(longitude); context.startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri))); 当我选择使用Waze导航时它很有效(它立即从“开始导航”对话框开始),但不适用于maps (仅显示点,而不是导航选项) 如果我用这种方式 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(“http://maps.google.com/maps?” + “&daddr=” + String.valueOf(latitude) + “,” + String.valueOf(longitude))); context.startActivity(intent); 相反,用maps开始导航,只显示Waze点 谢谢!

在Android设备中逐步检测软导航栏的可用性?

我试图通过android程序确定软导航栏。 我找不到直接判断的方法。 无论如何都有find导航栏的可用性。 软导航栏图像在这里。

更改导航抽屉的图标

我将导航抽屉图标更改为自定义图标时遇到问题。 我目前不得不实现标准的抽屉图标,顶部有3条水平线,但现在我想用我的自定义抽屉图标替换它。 这就是我的mDrawerToggle目前的情况: mDrawerToggle=new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.app_icon, R.string.drawer_open) { // My code };

如何从android.support.v4.widget.DrawerLayout的Material Design指南中启用或伪造迷你变体?

如何从“ 材料设计”指南中启用“迷你变体” – 以便仅在其关闭状态下显示抽屉图标? 作为我的问题的简单测试项目 ,我采用了Google着名的导航抽屉示例 – 然后在右侧添加了第二个抽屉,并在两侧添加了ListView条目的图标: 请告知如何激活(或者假冒?)“迷你变体抽屉” – 以便在上面的屏幕截图的右侧只能看到音乐符号。 这是我的布局文件activity_main.xml : 而MainActivity.java使用它: public class MainActivity extends AppCompatActivity { private Toolbar mToolbar; private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ListView mActionList; private ActionBarDrawerToggle mDrawerToggle; private String[] mPlanetTitles; private String[] mActions; private int[] mIcons; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPlanetTitles = getResources().getStringArray(R.array.planets_array); […]