android-带有片段的导航视图.工具列

android-带有片段的导航视图.工具列,第1张

概述因此,我有一个带有导航视图的活动.通过单击其项目,我可以更改活动片段.所有片段都具有相同的工具栏.但是其中有一个工具栏和TabLayout.我想知道什么是更好的在这样的活动中声明工具栏<RelativeLayoutandroid:layout_width="match_parent"android:layout_height="match_

因此,我有一个带有导航视图的活动.通过单击其项目,我可以更改活动片段.所有片段都具有相同的工具栏.但是其中有一个工具栏和TabLayout.我想知道什么是更好的在这样的活动中声明工具栏

<relativeLayout    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent">    <include layout="@layout/toolbar" />    <FrameLayout        androID:ID="@+ID/container"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:layout_below="@+ID/toolbar" /></relativeLayout>

或在每个片段中声明它.

第一种方法的缺点是默认的工具栏阴影.当我在片段中添加标签时,阴影看起来像

当我尝试2解决方案.我所有的工具栏都带有后退图标,而不是抽屉动画徽标.

谢谢.

解决方法:

我有同样的问题.这是我解决的方法:

>按照您的建议将工具栏移到片段上(这样就不会有阴影将两者分开).这也为在布局中实现(不同)工具栏提供了一种更加灵活的方法.
>用自定义图标替换工具栏的导航图标,如下所示:

toolbar.setNavigationIcon(R.drawable.ic_action_menu);

(我使用Android Asset Studio轻松创建具有首选颜色的图标)

>现在,使用新的菜单(主页)图标打开NavigationVIEw.您可以通过MainActivity(带有NavigationVIEw的控件)进行此 *** 作.在该活动中创建一个公共方法以打开抽屉:

public voID openDrawer(){    mDrawerLayout.openDrawer(Gravity.left);}

>现在像这样在片段的OnoptionsItemSelected中调用此方法:

@OverrIDepublic boolean onoptionsItemSelected(MenuItem item) {    // handle item selection    switch (item.getItemID()) {        case androID.R.ID.home: //Menu icon            ((MainActivity)getActivity()).openDrawer();            return true;                    default:            return super.onoptionsItemSelected(item);    }}

而已.当然,缺点是必须在每个Fragment中实现工具栏.但是,这是(据我所知)唯一使您能够在片段中使用工具栏(TabLayout)并且仍然能够控制NavigationVIEw的方法.

总结

以上是内存溢出为你收集整理的android-带有片段的导航视图.工具列全部内容,希望文章能够帮你解决android-带有片段的导航视图.工具列所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存