GithubHelp home page GithubHelp logo

bottomnavigationbarxf's Introduction

BottomNavigationBarXF

A Bottom Navigation Bar implementation for Xamarin Forms. It's using the Bottom Navigation Bar project to render the Navigation Bar on Android. It will render a standard TabbedPage on iOS.

Introduction

Introduction Video

Thanks to Houssem Dellai for this great introductionary video.

NuGet

Find it here.

License

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

bottomnavigationbarxf's People

Contributors

anatoliiapfm avatar andreinitescu avatar escamoteur avatar henningms avatar korayem avatar lazmeister avatar lholota avatar nbsoftware avatar r2d2rigo avatar sschmidt 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  avatar  avatar  avatar  avatar  avatar  avatar

bottomnavigationbarxf's Issues

Problem with nuget 1.0.1

Hi,

I have no idea why, but when installing the package into my project it only instally the Droid Parte but not the platform independent part.
Maybe this because I'm using a shared project.

Will go back to the dlls.

Anybody experienced the same?

Cheers
Thomas

Version 1.0.2 does not have Badge

Thank you for your great packet. However please add newest version to Nuget which contains Badge because current version does not have that feature.

Errors with recent merges to BottomBarPageRenderer

It seems like the merge d033551 kind of jumbled some stuff up.

Line 46: Missing the declaration UpdatableBottomBarTab[] _currentTabs;

Line 307: Looking through the commits, it seems like there should be _currentTabs = tabs;. However, the type of tabs would also need to change from BottomBarTab[] to UpdatableBottomBarTab[] with line 301 replaced with

return new UpdatableBottomBarTab(tabIconId, page.Title, page.Id);

However, this requires the definition of the class UpdatableBottomBarTab:

        private class UpdatableBottomBarTab : BottomBarTab
        {
            public Guid PageId { get; private set; }

            public UpdatableBottomBarTab(int iconResource, string title, Guid pageId) : base(iconResource, title)
            {
                PageId = pageId;
            }

            public void SetIconResource(int iconResource)
            {
                _iconResource = iconResource;
            }

            public int GetIconResource()
            {
                return _iconResource;
            }
        }

Line 309: It's missing the function declaration:

		void SetTabColors()
		{

Line 322: tabColor.Value should just be tabColor because it's no longer nullable.

Installing in Blank Xamarin Forms project

Hi there,

I am attempting to install this package using the nuget package manager inside Visual Studio 2015.

However when I install I get the following error message:
Could not install package 'ThriveGmbH.BottomNavigationBar.XF 1.0.1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

Any help please?

Make OnTabSelected and OnTabReSelected virtual

Can you please make these public methods virtual so they can be overridden in a custom renderer? This is useful for attaching additional behaviour on the tab selected/reselected listeners.

Add Badges

Are there plans to add badges directly from Forms ?

It is supported both on the iOS Tabbar and the Bottombar,
I'd help but I am struggling to get the Bottombar itself on Xamarin.Android
( it should work somehow like this
_bottomBar = BottomBar.Attach(this, savedInstanceState); in the Activity but it doesnt for me...)

Setting Active Tab using CurrentPage = loads page but does not update tab bar

I was able to reproduce this in the BottomBarXFExample project. I added a NextPage button on each tab that simply navigates to the next page using the CurrentPage property. (As far as I can tell this is the appropriate way to programatically select a page -- Please tell me if that's not the case). When you click Next Page you can see that you have navigated to the appropriate page (the label changes as expected) but the tab selected in the tab bar doesn't change.

Add this to TabPage.xaml.cs:
public BottomBarPage BottomBarPage { get; set; }
public void OnNextTab(object sender, EventArgs args)
{
var currentChildIndex = BottomBarPage.Children.IndexOf(BottomBarPage.CurrentPage);
var nextPageIndex = currentChildIndex + 1 == BottomBarPage.Children.Count ? 0 : currentChildIndex + 1;
BottomBarPage.CurrentPage = BottomBarPage.Children[nextPageIndex];
}

In App.xaml.cs set the BottomBarPage property to give each tab access to the bottom bar:
var tabPage = new TabPage () {
Title = title,
Icon = icon,
BottomBarPage = bottomBarPage
};

In the TabPage.xaml add the next button and wrap it and the grid in a stack view:








Create the Bottom Bar from XAML

I've managed to install the package and made it work with my project using the example code, but, we are trying to have zero code-behind and we define everything using the xaml page.

When I create a new xaml page and inherit from BottomBarPage (also changing the respective code on the XAML part to BottomBarPage) it fails on compilation because the generated compiled xaml to cs tries to look for BottomBarPage inside Xamarin.Forms.

What can I do? Is there any example on how to set up this bottom bar page with xaml?

Thanks in advance for any help.

BottomNavigationBarXF question shared project

Hi, guys!
I like the bar package u've made. But i've got a question: in your example u use pcl. Can it be used with shared project? I'm currently trying to connect it to my shared prj, which i'm limited to due to some student project limitations. It could be nice if u add to samples a project where u connect the bar to the shared project.

Space above bottom navigation bar

I always have a space between the BottomNavigationBar and the ContentPage.

With a Pixel C (Android 7) the space is small (see screen 1) but with an old little samsung tablet the space is important... (see screen 2)

Screen 1:
android 7

Screen 2:
android 4 2 2

Error encountered while duplicating sample project (written in XAML)

Hey guys ๐Ÿ‘‹

I tried replicating the sample project written in XAML, and I've run into this error, as shown below:

Bridge [resources.resolve.theme] Failed to find '?attr/selectableItemBackgroundBorderless' in current theme. Trying to load class android.support.v4.widget.Space

Bridge [resources.resolve.theme] Failed to find '?attr/selectableItemBackgroundBorderless' in current theme.
Trying to load class android.support.v4.widget.Space

Bridge [resources.resolve.theme] Failed to find '?attr/selectableItemBackgroundBorderless' in current theme.
Trying to load class android.support.v4.widget.Space

Bridge [resources.resolve.theme] Failed to find '?attr/selectableItemBackgroundBorderless' in current theme.
Trying to load class android.support.v4.widget.Space

Bridge [resources.resolve.theme] Failed to find '?attr/selectableItemBackgroundBorderless' in current theme.
Trying to load class android.support.v4.widget.Space

mono.android.DesignerException: java.lang.NullPointerException
at mono.android.DesignerException.fromThrowable(DesignerException.java:46)
at mono.android.DesignerSession.checkRenderResultForError(DesignerSession.java:187)
at mono.android.DesignerSession.load(DesignerSession.java:239)
at mono.android.DesignerSession.processMessage(DesignerSession.java:702)
at mono.android.MessageListener.executeMessage(MessageListener.java:88)
at mono.android.MessageListener$Runner.run(MessageListener.java:44)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at android.graphics.Canvas_Delegate.native_getClipBounds(Canvas_Delegate.java:457)
at android.graphics.Canvas.native_getClipBounds(Canvas.java)
at android.graphics.Canvas.getClipBounds(Canvas.java:949)
at android.text.Layout.getLineRangeForDraw(Layout.java:494)
at android.text.Layout.draw(Layout.java:241)
at android.text.BoringLayout.draw(BoringLayout.java:407)
at android.widget.TextView.onDraw(TextView.java:5862)
at android.view.View.draw(View.java:17071)
at android.view.View.draw(View.java:16979)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:16977)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:17074)
at android.view.View.draw(View.java:16979)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:16977)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:17074)
at android.view.View.draw(View.java:16979)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:16977)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:16977)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:16977)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3764)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:17074)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.renderAndBuildResult(RenderSessionImpl.java:401)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.renderAndBuildResult(RenderSessionImpl.java:548)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:422)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:434)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:368)
at mono.android.DesignerSession.load(DesignerSession.java:233)
... 4 more


Any idea why this might be happening? This is what my styles.xml file looks like, if that's relevant:

<?xml version="1.0" encoding="utf-8" ?>
<resources>

  <style name="MainTheme" parent="MainTheme.Base">
  </style>
  <!-- Base theme applied no matter what API -->
  <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
    <item name="windowNoTitle">true</item>
    <!--We will be using the toolbar so no need to show ActionBar-->
    <item name="windowActionBar">false</item>
    <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette -->
    <!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">#2196F3</item>
    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">#1976D2</item>
    <!-- colorAccent is used as the default value for colorControlActivated
         which is used to tint widgets -->
    <item name="colorAccent">#FF4081</item>
    <!-- You can also set colorControlNormal, colorControlActivated
         colorControlHighlight and colorSwitchThumbNormal. -->
    <item name="windowActionModeOverlay">true</item>

    <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
  </style>

  <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">#FF4081</item>
  </style>
</resources>

Thanks for all the work you've put into this library! Appreciate all the help. โค๏ธ

Programmatically switch between tabs not work correctly.

Here is my implementation:

void SwitchToSecondPage(object sender, EventArgs e)
{
     var masterPage = this.Parent as BottomBarPage;
     masterPage.CurrentPage = masterPage.Children[1];
}

The content page was switched, but the bottom bar tabs was not changed.

New PCL project, can't build

Error is:

1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1410,2): error : Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'BottomBar.XamarinForms, Version=1.0.6133.37691, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1410,2): error : File name: 'BottomBar.XamarinForms.dll'
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1410,2): error :    at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1410,2): error :    at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1410,2): error :    at Xamarin.Android.Tasks.ResolveAssemblies.Execute()

This is a brand new PCL project - BottomBar 1.1.2 is installed. If I remove BottomNavigationBarXF it can build/run again, as soon as I add BarXF back in I get the above error when building. Have tried it numerous times with with fresh PCL projects. Have tried BottomNavigationBarXF 1.0.0, same error.

<packages>
  <package id="BottomNavigationBar" version="1.1.2" targetFramework="monoandroid60" />
  <package id="Newtonsoft.Json" version="8.0.3" targetFramework="monoandroid60" />
  <package id="ThriveGmbH.BottomNavigationBar.XF" version="1.0.1" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
  <package id="Xamarin.Forms" version="2.3.3.180" targetFramework="monoandroid60" />
</packages>

Expose more methods to configure Bar behavior

I can't find a way to call the following from XF project:

// Disable the left bar on tablets and behave exactly the same on mobile and tablets instead.
_bottomBar.NoTabletGoodness();

// Show all titles even when there's more than three tabs.
mBottomBar.UseFixedMode();

// Use the dark theme
_bottomBar.UseDarkTheme();

// Set the color for the active tab. Ignored on mobile when there are more than three tabs.
_bottomBar.SetActiveTabColor("#009688");

// Use custom text appearance in tab titles.
_bottomBar.SetTextAppearance(Resource.Style.MyTextAppearance);

// Use custom typeface that's located at the "/src/main/assets" directory. If using with
// custom text appearance, set the text appearance first.
_bottomBar.SetTypeFace("MyFont.ttf");

Keep getting System.InvalidOperationException: Sequence contains no matching element

Can you please document how to use this control? I have looked at the source code which compiles and runs fine, but when I use the nuget package instead, I'm getting a runtime exception.

08-02 01:17:41.571 I/MonoDroid( 8293): UNHANDLED EXCEPTION:
08-02 01:17:41.581 I/MonoDroid( 8293): System.InvalidOperationException: Sequence contains no matching element
08-02 01:17:41.581 I/MonoDroid( 8293):   at System.Linq.Enumerable.Single[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) [0x0008c] in /Users/builder/data/lanes/3511/0831d928/source/mono/mcs/class/referencesource/System.Core/System/Linq/Enumerable.cs:1065 
08-02 01:17:41.581 I/MonoDroid( 8293):   at BottomBar.Droid.ReflectedProxy`1[T].Call (System.String methodName, System.Object[] parameters) [0x00020] in <filename unknown>:0 
08-02 01:17:41.581 I/MonoDroid( 8293):   at BottomBar.Droid.PageController.SendAppearing () [0x00000] in <filename unknown>:0 
08-02 01:17:41.581 I/MonoDroid( 8293):   at BottomBar.Droid.Renderers.BottomBarPageRenderer.OnAttachedToWindow () [0x00006] in <filename unknown>:0 
08-02 01:17:41.581 I/MonoDroid( 8293):   at Android.Views.View.n_OnAttachedToWindow (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in /Users/builder/data/lanes/3511/400a4fc9/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:13912 
08-02 01:17:41.581 I/MonoDroid( 8293):   at (wrapper dynamic-method) System.Object:f62e0551-38d7-4f66-afe1-60e4a4af9f0d (intptr,intptr)
08-02 01:17:41.581 I/MonoDroid( 8293): [MVID] 4298aaf593114c7e9ca4ac4b529e50c5 4
08-02 01:17:41.581 I/MonoDroid( 8293): [MVID] a3f8a31db4d344b780468ee114c86386 0
08-02 01:17:41.581 I/MonoDroid( 8293): [MVID] dea6c07ac3b4406aacba3e3f945fe846 1,2,3
08-02 01:17:41.621 W/art     ( 8293): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable
08-02 01:17:41.621 D/Mono    ( 8293): DllImport searching in: '__Internal' ('(null)').
08-02 01:17:41.621 D/Mono    ( 8293): Searching for 'java_interop_jnienv_throw'.
08-02 01:17:41.621 D/Mono    ( 8293): Probing 'java_interop_jnienv_throw'.
08-02 01:17:41.621 D/Mono    ( 8293): Found as 'java_interop_jnienv_throw'.
The thread 'Unknown' (0x4) has exited with code 0 (0x0).
An unhandled exception occured.

Cannot run the library under Android 4.0.3 (API 15)

Greetings!
When i try to integrate the library on a xamarin forms project working under Android 4.0.3, It Hangs on a unrecoverable exception and it closes.

The error message refers to a unknown function called "getMinimumHeight". After some research i found that the error was generated by a call to a unsupported method on the API (getMinimumPage was supported since API 16). The call is currently done on BottomNavigationBarRenderer.cs at line 206:

int tabsHeight = Math.Min (height, Math.Max (_bottomBar.MeasuredHeight, _bottomBar.MinimumHeight));

However i was able bypass the exception making a quick (and dirty) workaround:

int tabsHeight = Math.Min (height, _bottomBar.MeasuredHeight);

With that last change the example project was able to run perfectly under Android 4.0.3.

I think this is an important detail because all libraries associated with this one starts his support with API 13 (Honeycomb) :)

UNHANDLED EXCEPTION: 07-27 19:55:07.501 I/MonoDroid(11259): Java.Lang.IllegalStateException: FragmentManager is already executing transactions

Hi,
Using the bottom bar page we have run into this. This occurs using both the latest pre release of xamarin 2.3.5.256-pre6 and the stable 2.3.4.247. BottomNavigationBar version 1.4.0.3 and BottomNavigationBar.XF version 1.0.2

This occurs when I have navigated using prism to a master detail page with a bottom bar page as the content, and then I navigate away and upon navigating back the exception occurs.

UNHANDLED EXCEPTION:
07-27 19:55:07.501 I/MonoDroid(11259): Java.Lang.IllegalStateException: FragmentManager is already executing transactions
07-27 19:55:07.501 I/MonoDroid(11259): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
07-27 19:55:07.501 I/MonoDroid(11259): at Java.Interop.JniEnvironment+InstanceMethods.CallBooleanMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method) [0x00084] in /Users/builder/data/lanes/4009/9578cdcd/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:11304
07-27 19:55:07.501 I/MonoDroid(11259): at Android.Runtime.JNIEnv.CallBooleanMethod (System.IntPtr jobject, System.IntPtr jmethod) [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/JNIEnv.g.cs:114
07-27 19:55:07.501 I/MonoDroid(11259): at Android.Support.V4.App.FragmentManagerInvoker.ExecutePendingTransactions () [0x00033] in <6296d3d76c5d4378959a1d9bf7205023>:0
07-27 19:55:07.501 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.Dispose (System.Boolean disposing) [0x00012] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\NavigationRenderer.cs:265
07-27 19:55:07.501 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203
07-27 19:55:07.501 I/MonoDroid(11259): at BottomBar.Droid.Renderers.BottomBarPageRenderer.Dispose (System.Boolean disposing) [0x0004b] in <8ef25c146c33416cb32def72170c57a0>:0
07-27 19:55:07.501 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203
07-27 19:55:07.501 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.FragmentContainer.OnDestroyView () [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:419
07-27 19:55:07.501 I/MonoDroid(11259): at Android.Support.V4.App.Fragment.n_OnDestroyView (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <6296d3d76c5d4378959a1d9bf7205023>:0
07-27 19:55:07.501 I/MonoDroid(11259): at (wrapper dynamic-method) System.Object:c0ddbf67-994b-4497-be16-325908dc17d9 (intptr,intptr)
07-27 19:55:07.501 I/MonoDroid(11259): --- End of managed Java.Lang.IllegalStateException stack trace ---
07-27 19:55:07.501 I/MonoDroid(11259): java.lang.IllegalStateException: FragmentManager is already executing transactions
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1649)
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589)
07-27 19:55:07.501 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.n_onDestroyView(Native Method)
07-27 19:55:07.501 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.onDestroyView(FragmentContainer.java:59)
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.Fragment.performDestroyView(Fragment.java:2306)
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1183)
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.removeFragment(FragmentManager.java:1387)
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:771)
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589)
07-27 19:55:07.501 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.n_run(Native Method)
07-27 19:55:07.501 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30)
07-27 19:55:07.501 I/MonoDroid(11259): at android.os.Handler.handleCallback(Handler.java:739)
07-27 19:55:07.501 I/MonoDroid(11259): at android.os.Handler.dispatchMessage(Handler.java:95)
07-27 19:55:07.501 I/MonoDroid(11259): at android.os.Looper.loop(Looper.java:158)
07-27 19:55:07.501 I/MonoDroid(11259): at android.app.ActivityThread.main(ActivityThread.java:7224)
07-27 19:55:07.501 I/MonoDroid(11259): at java.lang.reflect.Method.invoke(Native Method)
07-27 19:55:07.501 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
07-27 19:55:07.501 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
07-27 19:55:07.511 D/Mono (11259): DllImport searching in: '__Internal' ('(null)').
07-27 19:55:07.511 D/Mono (11259): Searching for 'java_interop_jnienv_throw'.
07-27 19:55:07.511 D/Mono (11259): Probing 'java_interop_jnienv_throw'.
07-27 19:55:07.511 D/Mono (11259): Found as 'java_interop_jnienv_throw'.
07-27 19:55:08.531 I/MonoDroid(11259): UNHANDLED EXCEPTION:
07-27 19:55:08.561 I/MonoDroid(11259): Java.Lang.IllegalStateException: FragmentManager is already executing transactions
07-27 19:55:08.561 I/MonoDroid(11259): at (wrapper managed-to-native) Java.Interop.NativeMethods:java_interop_jnienv_call_boolean_method (intptr,intptr&,intptr,intptr)
07-27 19:55:08.561 I/MonoDroid(11259): at Java.Interop.JniEnvironment+InstanceMethods.CallBooleanMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method) [0x0006b] in /Users/builder/data/lanes/4009/9578cdcd/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:11300
07-27 19:55:08.561 I/MonoDroid(11259): at Android.Runtime.JNIEnv.CallBooleanMethod (System.IntPtr jobject, System.IntPtr jmethod) [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/JNIEnv.g.cs:114
07-27 19:55:08.561 I/MonoDroid(11259): at Android.Support.V4.App.FragmentManagerInvoker.ExecutePendingTransactions () [0x00033] in <6296d3d76c5d4378959a1d9bf7205023>:0
07-27 19:55:08.561 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailContainer.Dispose (System.Boolean disposing) [0x0004e] in <3364a2d206a142d8a54cb7a9b77626da>:0
07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203
07-27 19:55:08.561 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer.Dispose (System.Boolean disposing) [0x00033] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\FrameRenderer.cs:123
07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203
07-27 19:55:08.561 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.Platform+<>c__DisplayClass35_0.b__0 () [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\FormattedStringExtensions.cs:70
07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.Thread+RunnableImplementor.Run () [0x0000b] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36
07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in /Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/platforms/android-25/src/generated/Java.Lang.IRunnable.cs:81
07-27 19:55:08.561 I/MonoDroid(11259): at (wrapper dynamic-method) System.Object:de5e5191-2a1b-4e20-bfeb-39af839e42ab (intptr,intptr)
07-27 19:55:08.561 I/MonoDroid(11259): --- End of managed Java.Lang.IllegalStateException stack trace ---
07-27 19:55:08.561 I/MonoDroid(11259): java.lang.IllegalStateException: FragmentManager is already executing transactions
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1649)
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589)
07-27 19:55:08.561 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.n_onDestroyView(Native Method)
07-27 19:55:08.561 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.onDestroyView(FragmentContainer.java:59)
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.Fragment.performDestroyView(Fragment.java:2306)
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1183)
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.removeFragment(FragmentManager.java:1387)
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:771)
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589)
07-27 19:55:08.561 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.n_run(Native Method)
07-27 19:55:08.561 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30)
07-27 19:55:08.561 I/MonoDroid(11259): at android.os.Handler.handleCallback(Handler.java:739)
07-27 19:55:08.561 I/MonoDroid(11259): at android.os.Handler.dispatchMessage(Handler.java:95)
07-27 19:55:08.561 I/MonoDroid(11259): at android.os.Looper.loop(Looper.java:158)
07-27 19:55:08.561 I/MonoDroid(11259): at android.app.ActivityThread.main(ActivityThread.java:7224)
07-27 19:55:08.561 I/MonoDroid(11259): at java.lang.reflect.Method.invoke(Native Method)
07-27 19:55:08.561 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
07-27 19:55:08.561 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Gradient tab? Long tabTitle in FixedMode?

Is it possible to have a gradient tab ranging between 2 colors?

When in FixedMode, most of my tab titles get chopped of, because they're to long. Is there a way to solve this? Or maybe change the padding between the tabs?

having a bunch of issues with Xamarin Shared (xaml) Project

hello,

i am tryng to implement ThriveGmbH.BottomNavigationBar.XF.1.0.2 in my project, but i am having a bunch of issues. such as:

  1. background color for bottom bar not changing on selections [yes i tried turning fixedmodes false]
  2. cant find clean xaml based code example
  3. in new library 1.0.2 xf:BottomBarPageExtensions.BadgeCount="2" xf:BottomBarPageExtensions.BadgeColor="Black" both of these are missing.
  4. i am getting a blue navigation bar on top of tab pages.
  5. i want to do some work on selection change, cant find a decent example for events methods

thats all for now

[Bug] OnAppearing method is calling twice

Also in the example project, when you override OnAppearing method, after clicking on bottom navigation menus and changing the TabPage, you can see OnAppearing is calling twice!

I call my ViewModel's LoadData inside OnAppearing method that is responsible to get data from rest API and load views, so that calling OnAppearing twice, can cause performance issue.

CurrentPageChanged event is not fired

I can't simply do this inside BottomBar Page

this.CurrentPageChanged += async (object sender, EventArgs e) =>
            {
                if (!AppSettings.IsLogged)
                {
                    await Navigation.PushAsync(new Welcome(), false);
                    return;
                }
            };

Error when popping page with keyboard open

When in the tabbed page, if you push a new navigation page, open up the keyboard (by focusing a text box), and then click the back arrow in the navigation bar, the tabs will appear as if the keyboard is still up (meaning there is a big empty space below the tabs, which is the height of the keyboard, although no keyboard is actually present). Clicking another tab fixes the issue.

I almost was able to create a hacky-fix for it, by listening to the navigation page's Popped event, and then manually hiding the keyboard, but sometimes the page pops too fast, before the keyboard actually disappears, and the issue still remains.

Is it possible to set BarBackgroundColor to custom color

Hi Is there a way to make the BarBackgroundColor to work
e.g.
bottomBarPage.BarBackgroundColor = Color.Orange;

Currently I am using
bottomBarPage.BarTheme = BottomBarPage.BarThemeTypes.DarkWithAlpha;
color

I am new to .NET sorry if this is a stupid question

Make _bottomBar a public property

This is a great wrapper around BottomNavigationBar, but are you able please to make _bottomBar a public property in the renderer?

ie. BottomBar => _bottomBar;

We are using your excellent package, but we would like access to the underlying object so we can further customize with a custom renderer.

error after install

hi,
after installed and compile, visual studio show thid error:
Errore Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'BottomBar.XamarinForms, Version=1.0.6133.37691, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
Nome file: 'BottomBar.XamarinForms.dll'
in Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
in Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
in Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver) Buragina.Android

any help?
now i have update to BottomNavigatorBar 1.4.0.3 but the problem persisting

any help?

Max

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.