Giter Site home page Giter Site logo

listenzz / androidnavigation Goto Github PK

View Code? Open in Web Editor NEW
715.0 18.0 95.0 37.01 MB

A library managing navigation, nested Fragment, StatusBar, Toolbar for Android

License: MIT License

Java 100.00%
fragment statusbar toolbar navigation dialog activity-fragment swipeback

androidnavigation's Introduction

Hi there 👋

目前正在找工作,有看上我技艺的,深圳地区请联系我。

androidnavigation's People

Contributors

listenzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

androidnavigation's Issues

自定义Toolbar按钮

建议每个ToolbarButtonItem都有能力自定义自己的文字颜色以及控制自身enable状态。

ToolbarButtonItem的setEnabled问题

ToolbarButtonItem在初始化的时候如果Enabled为false按钮会变灰,但如果后面调用setEnabled为true时漏了更改按钮的颜色,应该要在
public void setEnabled(boolean enabled) {
if (button != null) {
button.setEnabled(enabled);
}
}

里加上改颜色的代码

getParentFragment为空问题

作者您好,使用中出现的问题如下:

MainActivity 的 rootFragment 为TabBarFragment:

tabBarFragment = new TabBarFragment();
tabBarFragment.setChildFragments(fragment1, fragment2, fragment3, fragment5, fragment4);
tabBarFragment.setTabBarProvider(new MainTabProvider());

setActivityRootFragment(tabBarFragment);

在其中一页Tab的Fragment通过点击按钮presentFragment出来的新Fragment里,调用getParentFragment为空。

发现这个问题是因为发现dissmiss Fragment返回后onFragmentResult没执行,跟踪调试后发现以上问题。

badge size

作者你好。
请问支持修改 badge size 不? 麻烦了

不知道作者有没有用过Glide

java.lang.ClassCastException: com.bumptech.glide.manager.SupportRequestManagerFragment cannot be cast to me.listenzz.navigation.AwesomeFragment
at me.listenzz.navigation.AwesomeFragment.getChildFragmentsAtAddedList(AwesomeFragment.java:405)
at me.listenzz.navigation.AwesomeFragment.onHiddenChanged(AwesomeFragment.java:177)
at me.listenzz.navigation.AwesomeFragment.onHiddenChanged(AwesomeFragment.java:179)
at android.support.v4.app.FragmentManagerImpl.completeShowHideFragment(FragmentManager.java:1719)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1778)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:794)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5868)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1019)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:814)

TabBarFragment里面的BottomBar样式

TabBarFragment里面的BottomBar样式无法满足需求,个人觉得不应该把BottomBar集成进去,应该只提供接口,让别人自己去实现切换的控件(或者说有没有提供单独hide,show的方法)

dismissFragment的小问题

  1. 在继承了AwesomeActivity的Activity里(没有设置任何rootFragment),直接通过点击按钮present出来的Fragment无法dismissFragment。目前未知具体原因

  2. 建议能在presentFragment时,能自定义打开的动画。同样的dismiss时也能指定动画,望作者回复,谢谢

Toolbar Title layoutParams

LayoutParams layoutParams = new LayoutParams(-2, -2, Gravity.CENTER_VERTICAL | Gravity.START);
从下面函数找到的,对于填入-2的依据是什么?

protected TextView getTitleView() {
        if (titleView == null) {
            titleView = new TextView(getContext());
            LayoutParams layoutParams = new LayoutParams(-2, -2, Gravity.CENTER_VERTICAL | Gravity.START);
            layoutParams.leftMargin = getContentInset();
            addView(titleView, layoutParams);
        }
        return titleView;
    }

ViewAppear相关逻辑如何升级?

作者你好我们的项目使用了 implementation 'com.navigation.androidx:androidx:4.3.1',现在无法依赖 之后的新版本。发现ViewAppear相关的逻辑全部没有了。请问有替换方案不。因为关联的androidx库也无法升级了。感谢

fitSystemWindows无法起作用问题

作者您好,在使用该库过程中,发现Activity在布局中的根布局设置fitSystemWindows无法起作用,页面的内容顶部一小部分会被藏到statusbar下面, 必须要在布局中使用paddinng top或者margin top 才行,但是目前市面上手机的statusbar的高度不统一,无法有一个确定的值去设置,望作者能修复一下该问题,谢谢

字体尺寸的问题

toolbat参数使用的都是dp,这导致不会随着系统字体设置变化,但是下面的tabbar却又是sp的,当系统字体变大后会和图标重叠。建议增加一个属性,可供设置字体是dp还是sp,并开放tabbar的设置字体尺寸的属性。另外,图标和文字之间的间隔空间属性,能不能也开放,谢谢

哪个方法可以立即触发onCustomStyle?

1:问题缘由:夜间模式和白天模式的切换,需要更换全局的status bar,tool bar,tab bar的背景色和样式,并且立即生效,虽然有fragment对应的3个setNeedsAppearanceUpdate方法,但是使用起来还是不如修改style的方便。

2:另外fragment的preferredToolbarColor方法中,getAwesomeToolbar得到的toolbar,setTitleTextColor可以产生效果,但是setButtonTintColor却无效,这个是bug吗?

3:fragment的preferredNavigationBarColor方法无效?请问正确的使用方式。

谢谢!

导航栏按钮切换界面闪烁

换了最新版本,之前没这个问题。导航栏第一次加载界面时候,会闪烁一次,再次进来就不会了。导航栏就是页面最下面的那个Tabbar。

无法presentFragment问题

今天在fragment中使用presentFragment方法时,发现没起作用,单点调试后发现,在使用该方法前在Activity上创建了一个DialogFragment来显示加载中,所以导致canPresentFragment方法中获取DialogFragment不为空,所以无法进一步跳转新的fragment。

问题是,在调用presentFragment方法前,已经将这个dialogfragment给dismiss掉了,依然不凑效,望作者给个解决思路,谢谢

底部TabBar能支持左右两侧模式不?

作者你好!如题目!现在有这样的需求,是用再平板上的。
TabBar能支持设置到做侧不?或者有没有好的方案解决提示一下。
还有此库会对平板的场景进行加强不?
未来可能会出现更多的手机与平板二合一的折叠手机,到时候支持平板多变的导航功能,多Fragment控制的需求会变得更多。
感谢作者

使用presentFragment异常

在AFragment使用presentFragment方式弹出BFragment,然后在AFragment中onFragmentResult获取到返回的结果后,再以pushFragment的方式跳转到CFragment,再返回到AFragment时报错:java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter data

DialogFragment配合databing使用报错

使用Fragment配合databing正常,但是使用DialogFragment会报错,java.lang.RuntimeException: view must have a tag
换成继承官方的DialogFragment则没有问题。

使用NavigationFragment()时怎么关闭页面跳转时的动画

使用NavigationFragment()时怎么关闭页面跳转时的动画?
BlankFragment blankFragment = new BlankFragment();
NavigationFragment navigationFragment = getNavigationFragment();
navigationFragment.关闭动画;
navigationFragment.pushFragment(blankFragment);

使用时的几个疑问

你好,看到你的项目觉的很好,同时也研究了下代码,从中有几个疑问点,希望能够得到解答
1、右上角菜单项支持多个吗?或者支持原生的menu菜单?
2、图标和字体这块怎么用?
3、可以不使用DrawerFragment实现吗?如微信主界面

setStatusBarTranslucent无效

vivo x6plus d这个机器上,无论在AwsomActvity还是AwsomFragment设置setStatusBarTranslucent(false),都无法关闭沉浸式。很无语啊。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.