Giter Site home page Giter Site logo

baseflow / xf-material-library Goto Github PK

View Code? Open in Web Editor NEW
649.0 39.0 162.0 10.58 MB

A Xamarin Forms library for implementing Material Design

Home Page: https://baseflow.com

License: MIT License

C# 98.03% PowerShell 1.42% Shell 0.56%
material xamarin xamarin-forms xamarin-plugin material-dialogs baseflow

xf-material-library's People

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xf-material-library's Issues

Exception on calling XF.Material.Forms.Material.Init(this) on App()

Describe the bug
As stated in your explanation I've put XF.Material.Forms.Material.Init(this) on the App constructor, as depited on the attached image. When the execution point hits this line an exception reportung a NullReferenceError popsup.

To Reproduce
Install all the packages and setup as explained, then execute app

Expected behavior
Should continue execution as expected.

Screenshots
capturar

Desktop (please complete the following information):

  • OS: Xamarin Forms 3.2

Smartphone (please complete the following information):
Android Emulator with onreo 8.1 installed

Additional context
This are all my pcakges installed and respective versions

MaterialButton change after Navigation.PopModalAsync()

I use the MaterialButton for something, so when I click one button that a show ContenPage with the method Navigation.PushModalAsync that work fine, but when I call await Navigation.PopModalAsync(), but before to call PopModalAsync(), I change a property of button like a BorderColor that change all the style of the button, is like the button not was a MaterialButton , because the modal dissapear but the button look like a native button and not like MaterialButton
That something I doing bad o something with the button, because i tried everything but nothing change, sorry is weird to me that happend

[Non Issue] Keep up the good work

Hi, I just wanted to say that the active development state in this project is impressive and full of good surprises. Thank you for giving us the library and build up so many good features.

Updating the CanExecute command property for a disposed MaterialButton causes a crash

Describe the bug
When updating the CanExecute property for an already disposed MaterialButton a crash occours.
This issue does not exist when using the regular Xamarin.Forms Button.

To Reproduce
Steps to reproduce the behavior:

  1. My application opens a modal dialog page
  2. In this dialog I click a "Save" button which closes the dialog
  3. To prevent clicking the button twice the command sets the CanExecute property to false while the command is being executed
  4. Now the dialog has been closed and is starting to be disposed. The command completes and the CanExecute property changes back from false to true.
  5. Now the application crashes with the following error:

System.ObjectDisposedException: Cannot access a disposed object. Object name: 'Android.Support.V7.Widget.AppCompatButton'.

I'm using the latest XF.Material library, version 1.3.0.2. All my Xamarin.Android.* libraries are version 28.0.0

Expected behavior
The application does not crash.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment:

  • Device: Xiaomi Red mi 2
  • OS: Android 8.1

MaterialButton Text Color doesn't update on iOS

Describe the bug
Trying to change the TextColor property of a MaterialButton on iOS during runtime doesn't work.

To Reproduce
Create a MaterialButton and update it's TextColor after initial rendering (via binding, trigger, or code behind)

Expected behavior
The TextColor of the MaterialButton should change

Screenshots
textcolor issue

Desktop (please complete the following information):

  • OS: Windows 10

Smartphone (please complete the following information):

  • Device: iPhone XS Max Simulator

Additional context

Display Snackbar above persistent footer elements

When using the Snackbar with a bottom tabbed page on Xamarin forms, it is displayed on top of the navigation bar. According to Material Design, the Snackbar should float above the navigation bar, as seen here.

I'm not sure how feasible this is, but it would be a great feature, considering Xamarin forms just added support for bottom tabbed pages on Android.

Thanks!

Input Dialog

Hi sir. Can you also implement an input dialog like this?

An input dialog that accepts input when confirmed.
I've tried ACR.userdialog's prompt but it's kinda hard to customize.

The back button still enable when LoadingDialog is showing

Describe the bug
When the LoadingDialog is showing the back button press will go to last page.

To Reproduce
Steps to reproduce the behavior:
Here‘s two page :

public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private async void Button_Clicked(object sender, EventArgs e)
        {
            View1 view1 = new View1();
           await Navigation.PushModalAsync(view1);
        }
    }
public partial class View1 : ContentPage
    {
        public View1()
        {
            InitializeComponent();
        }

        private async void Button_Clicked(object sender, EventArgs e)
        {
            var dialog = await MaterialDialog.Instance.LoadingDialogAsync(message: "获取数据中……");
            await Task.Delay(5000);
            dialog.Dispose();
        }
    }

When the loadingdialog is showing,I press back button on android,it back to MainPage, but the loadingdialog still showing,after 5s loadingdialog hide.

[Enhancement] Material-based Imagebutton

with the release of Xamarin.Forms 3.4 on Imagebutton. it was great feature.

Suggest to include the previous MaterialButton enhancement to the new ImageButton. (including buttonType and Elevation)

nuget package build error

Describe the bug
My Solution didn't build when I added the nuget package.

To Reproduce
Add package via nuget
click build

Expected behavior
Solution didnt build.

Error
APT0000: invalid resource directory name

Additional context
To fix I got a copy of your source and changed the build action of
Resources\font\Roberto_Bold.ttf
Resources\font\Roberto_Medium.ttf
Resources\font\Roberto_Regular.ttf

to AndroidAsset from AndroidResource

repackaged locally and added into my solution now all works fine.


MaterialButton image property problem

When we set Image property for MaterialButton it give exception.
System.NullReferenceException: Object reference not set to an instance of an object.

If we don't set Image property for MaterialButton it is working fine.

[Feature] Add SKIA Project

I would like to have a SKIA project.

Wherein the controls are recreated using SKIA and it will be purely Xamarin.Forms implementation.

MaterialDialog.Instance.InputAsync throw Exception in some phone

Describe the bug
When I call

var input = await MaterialDialog.Instance.InputAsync(title: "xxx",
                    message: "xxx", confirmingText: "yes", dismissiveText: "no");

The Android simulator works fine, but in real phone it throws Exception,
In XiaoMi Mix2S:

Java.Lang.NoSuchFieldException: No field mCursorDrawable in class Landroid/widget/Editor; (declaration of 'android.widget.Editor' appears in /system/framework/framework.jar!classes2.dex)
  at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00069] in <42dc777b518744fdae9988e94489a4a0>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeAbstractObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00014] in <42dc777b518744fdae9988e94489a4a0>:0 
  at Java.Lang.Class.GetDeclaredField (System.String name) [0x00029] in <289faaef20de42089854c8bef59604fd>:0 
  at XF.Material.Droid.Renderers.Internals.MaterialEntryRenderer.ChangeCursorColor () [0x00085] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Droid/Renderers/Internals/MaterialEntryRenderer.cs:54 
  at XF.Material.Droid.Renderers.Internals.MaterialEntryRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1[TElement] e) [0x00015] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Droid/Renderers/Internals/MaterialEntryRenderer.cs:23 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000c3] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:210 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1[TElement] e) [0x00098] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\FrameRenderer.cs:184 
  at XF.Material.Droid.Renderers.MaterialCardRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1[TElement] e) [0x00000] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Droid/Renderers/MaterialCardRenderer.cs:20 
  at Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer.set_Element (Xamarin.Forms.Frame value) [0x00018] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\FrameRenderer.cs:61 
  at Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer.Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00015] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\FrameRenderer.cs:82 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.Platform.CreateRendererWithContext (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:339 
  at Rg.Plugins.Popup.Droid.Extensions.PlatformExtension.GetOrCreateRenderer (Xamarin.Forms.VisualElement bindable) [0x0000a] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup.Droid\Extensions\PlatformExtension.cs:14 
  at Rg.Plugins.Popup.Droid.Impl.PopupPlatformDroid+<AddAsync>d__11.MoveNext () [0x0002c] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup.Droid\Impl\PopupPlatformDroid.cs:42 
--- End of stack trace from previous location where exception was thrown ---
  at Rg.Plugins.Popup.Services.PopupNavigationImpl+<AddAsync>d__11.MoveNext () [0x00039] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup\Services\PopupNavigationImpl.cs:111 
--- End of stack trace from previous location where exception was thrown ---
  at Rg.Plugins.Popup.Services.PopupNavigationImpl+<PushAsync>d__7.MoveNext () [0x0005e] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup\Services\PopupNavigationImpl.cs:51 
--- End of stack trace from previous location where exception was thrown ---
  at XF.Material.Forms.UI.Dialogs.BaseMaterialModalPage+<ShowAsync>d__9.MoveNext () [0x00032] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Forms/UI/Dialogs/BaseMaterialModalPage.cs:100 
--- End of stack trace from previous location where exception was thrown ---
  at XF.Material.Forms.UI.Dialogs.MaterialInputDialog+<Show>d__10.MoveNext () [0x0006b] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Forms/UI/Dialogs/MaterialInputDialog.xaml.cs:47 
--- End of stack trace from previous location where exception was thrown ---
  --- End of managed Java.Lang.NoSuchFieldException stack trace ---
java.lang.NoSuchFieldException: No field mCursorDrawable in class Landroid/widget/Editor; (declaration of 'android.widget.Editor' appears in /system/framework/framework.jar!classes2.dex)
	at java.lang.Class.getDeclaredField(Native Method)
	at md58432a647068b097f9637064b8985a5e0.ButtonRenderer_ButtonClickListener.n_onClick(Native Method)
	at md58432a647068b097f9637064b8985a5e0.ButtonRenderer_ButtonClickListener.onClick(ButtonRenderer_ButtonClickListener.java:30)
	at android.view.View.performClick(View.java:6614)
	at android.view.View.performClickInternal(View.java:6591)
	at android.view.View.access$3100(View.java:786)
	at android.view.View$PerformClick.run(View.java:25948)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:201)
	at android.app.ActivityThread.main(ActivityThread.java:6806)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

In Huawei:

Java.Lang.NoSuchFieldException: No field mCursorDrawable in class Lhuawei/com/android/internal/widget/HwEditor; (declaration of 'huawei.com.android.internal.widget.HwEditor' appears in /system/framework/hwEmui.jar)
  at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00069] in <42dc777b518744fdae9988e94489a4a0>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeAbstractObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00014] in <42dc777b518744fdae9988e94489a4a0>:0 
  at Java.Lang.Class.GetDeclaredField (System.String name) [0x00029] in <289faaef20de42089854c8bef59604fd>:0 
  at XF.Material.Droid.Renderers.Internals.MaterialEntryRenderer.ChangeCursorColor () [0x00085] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Droid/Renderers/Internals/MaterialEntryRenderer.cs:54 
  at XF.Material.Droid.Renderers.Internals.MaterialEntryRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1[TElement] e) [0x00015] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Droid/Renderers/Internals/MaterialEntryRenderer.cs:23 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000c3] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:210 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1[TElement] e) [0x00098] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\FrameRenderer.cs:184 
  at XF.Material.Droid.Renderers.MaterialCardRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1[TElement] e) [0x00000] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Droid/Renderers/MaterialCardRenderer.cs:20 
  at Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer.set_Element (Xamarin.Forms.Frame value) [0x00018] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\FrameRenderer.cs:61 
  at Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer.Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00015] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\FrameRenderer.cs:82 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000af] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:120 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00139] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:268 
  at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:92 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:388 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e0] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:213 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:125 
  at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0001f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:330 
  at Xamarin.Forms.Platform.Android.Platform.CreateRendererWithContext (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:339 
  at Rg.Plugins.Popup.Droid.Extensions.PlatformExtension.GetOrCreateRenderer (Xamarin.Forms.VisualElement bindable) [0x0000a] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup.Droid\Extensions\PlatformExtension.cs:14 
  at Rg.Plugins.Popup.Droid.Impl.PopupPlatformDroid+<AddAsync>d__11.MoveNext () [0x0002c] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup.Droid\Impl\PopupPlatformDroid.cs:42 
--- End of stack trace from previous location where exception was thrown ---
  at Rg.Plugins.Popup.Services.PopupNavigationImpl+<AddAsync>d__11.MoveNext () [0x00039] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup\Services\PopupNavigationImpl.cs:111 
--- End of stack trace from previous location where exception was thrown ---
  at Rg.Plugins.Popup.Services.PopupNavigationImpl+<PushAsync>d__7.MoveNext () [0x0005e] in C:\projects\rg-plugins-popup\src\Rg.Plugins.Popup\Services\PopupNavigationImpl.cs:51 
--- End of stack trace from previous location where exception was thrown ---
  at XF.Material.Forms.UI.Dialogs.BaseMaterialModalPage+<ShowAsync>d__9.MoveNext () [0x00032] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Forms/UI/Dialogs/BaseMaterialModalPage.cs:100 
--- End of stack trace from previous location where exception was thrown ---
  at XF.Material.Forms.UI.Dialogs.MaterialInputDialog+<Show>d__10.MoveNext () [0x0006b] in /Users/vsts/agent/2.144.0/work/1/s/XF.Material/XF.Material.Forms/UI/Dialogs/MaterialInputDialog.xaml.cs:47 
--- End of stack trace from previous location where exception was thrown ---

  --- End of managed Java.Lang.NoSuchFieldException stack trace ---
java.lang.NoSuchFieldException: No field mCursorDrawable in class Lhuawei/com/android/internal/widget/HwEditor; (declaration of 'huawei.com.android.internal.widget.HwEditor' appears in /system/framework/hwEmui.jar)
	at java.lang.Class.getDeclaredField(Native Method)
	at md58432a647068b097f9637064b8985a5e0.ButtonRenderer_ButtonClickListener.n_onClick(Native Method)
	at md58432a647068b097f9637064b8985a5e0.ButtonRenderer_ButtonClickListener.onClick(ButtonRenderer_ButtonClickListener.java:30)
	at android.view.View.performClick(View.java:5647)
	at android.view.View$PerformClick.run(View.java:22479)
	at android.os.Handler.handleCallback(Handler.java:761)
	at android.os.Handler.dispatchMessage(Handler.java:98)
	at android.os.Looper.loop(Looper.java:156)
	at android.app.ActivityThread.main(ActivityThread.java:6605)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:999)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:889)

XF.Material.Droid.Renderers.MaterialCircularLoadingViewRenderer Error

Hi
I am a new Xamarin developer and I want to use this wonderful plugin in my project and i install every essential plugins from nuget for this plugin and then install this plugin but when I run my android application i get this error :
[System.TypeLoadException: Could not load type XF.Material.Droid.Renderers.MaterialCircularLoadingViewRenderer while decoding custom attribute: (null)]
I get this error exatcly in this line:
[global::Xamarin.Forms.Forms.Init(this, savedInstanceState);]
and I have no idea how should I solve this problem.
by the way i use android 5 and target framework is set on android 8 and the minimum api is 21
and this is my onCreate method:

    protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(savedInstanceState);

        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

        XF.Material.Droid.Material.Init(this, savedInstanceState);
        LoadApplication(new App());
    }

Thank You

Update the Xamarin.Essentials to 1.0

Getting a build error while building for release.

Update the Xamarin.Essentials to 1.0

Severity	Code	Description	Project	File	Line	Suppression State
Error		The "LinkAssemblies" task failed unexpectedly.
Mono.Linker.MarkException: Error processing method: 'System.Void XF.Material.Forms.UI.Dialogs.MaterialMenuDialog::OnAppearing()' in assembly: 'XF.Material.Forms.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve Xamarin.Essentials.ScreenMetricsChangedEventArgs
   at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkGenericArguments(IGenericInstance instance)
   at Mono.Linker.Steps.MarkStep.GetOriginalType(TypeReference type)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
   at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
   at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext(

[Feature] Add UWP Support

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[Question] How to use Material.PlatformConfiguration.ChangeStatusBarColor(Color color)

Hi folks,

Could somebody help me to find the correct spot for the method call XF.Material.PlatformConfiguration.ChangeStatusBarColor(Color color) using lib version 1.2.3? I could not find it in the documentation.

I tried in Forms / App.xaml:

        public App()
        {
            InitializeComponent();

            XF.Material.Forms.Material.Init(this, "Material.Configuration");
            XF.Material.Forms.Material.PlatformConfiguration.ChangeStatusBarColor(Color.Red);

            MainPage = new MainPage();
        }

and also in the AppDelegate.cs:

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            global::Xamarin.Forms.Forms.Init();
            XF.Material.iOS.Material.Init();
            XF.Material.Forms.Material.PlatformConfiguration.ChangeStatusBarColor(Color.Red);

            LoadApplication(new App());

            return base.FinishedLaunching(app, options);
        }

Nevertheless, I still see the the primary variant color.
Tested on iOS.

Thanks for your help.

Should I better ask on Stackoverflow or something else in the future?

Hide selection if already selected MaterialRadioButtonGroup

Selected radio button must be selected when we again click on selected button. But here when we click on selected radio button it becomes unselected that is not happen to regular radio button. Also it make selected index unchanged for both Android and ios

What's about reworking MaterialDialogs.ShowAlertAsync to make it really awaitable and return Task<bool> instead?

Hi!

I've tried also MaterialDialogs.ShowAlertAsync which works fine in general.
However, with current implementation I can't see a way of notifying when the alert (confirmation) box is closed with negative (cancelling) result.

Currently the method is (in general) awaitable, which completes on the confirm popup appearing, however, usually, it doesn't have much sense from the app logic functionality perspective. From my experience, it's rather more important to be able further processing of the app logic after the choice been done.

So, I would suggest to rework it to return Task<bool>, which would complete after the used made his choice.

What do you think? I can also fork and apply that update as well if you have no time for that.

Reference to Lottie.Android

Describe the bug
When trying to compile project an error appear:
Severity Code Description Project File Line Suppression State
Error Can not resolve reference: Lottie.Android, referenced by XF.Material.Droid. Please add a NuGet package or assembly reference for Lottie.Android, or remove the reference to XF.Material.Droid.
I already referenced Com.Airbnb.Xamarin.Forms.Lottie and the error constinues.

To Reproduce
Compile project with XF-Material-Library added

capturar

Desktop (please complete the following information):

  • OS: android xamarin forms

When I Test Android App in Release, i have this error, but in debug not

[Error] ERR: exClass=android.runtime.JavaProxyThrowable [Error] ERR: exMsg=System.MissingMethodException: Default constructor not found for type XF.Material.Droid.Effects.MaterialTypeScaleEffect [Error] at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x0007b] in <5683f1548d9948e4be244166d63ab903>:0 [Error] at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean wrapExceptions, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00009] in <5683f1548d9948e4be244166d63ab903>:0 [Error] at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Boolean wrapExceptions, System.Threading.StackCrawlMark& stackMark) [0x00027] in <5683f1548d9948e4be244166d63ab903>:0 [Error] at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00020] in <5683f1548d9948e4be244166d63ab903>:0 [Error] at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x00000] in <5683f1548d9948e4be244166d63ab903>:0 [Error] at System.Activator.CreateInstance (System.Type type) [0x00000] in <5683f1548d9948e4be244166d63ab903>:0 [Error] at Xamarin.Forms.Internals.DependencyResolver.ResolveOrCreate (System.Type type, System.Object[] args) [0x00053] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.Effect.Resolve (System.String name) [0x00017] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.RoutingEffect..ctor (System.String effectId) [0x00006] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at XF.Material.Forms.Effects.BaseMaterialEffect..ctor (System.String effectId) [0x00000] in <b82aaf97259b4b829138a9dd7c8bc427>:0 [Error] at XF.Material.Forms.Effects.MaterialTypeScaleEffect..ctor (XF.Material.Forms.Resources.Typography.MaterialTypeScale typeScale) [0x00000] in <b82aaf97259b4b829138a9dd7c8bc427>:0 [Error] at XF.Material.Forms.Effects.MaterialTypographyEffect.TypeScaleChanged (Xamarin.Forms.BindableObject bindable, System.Object oldValue, System.Object newValue) [0x00053] in <b82aaf97259b4b829138a9dd7c8bc427>:0 [Error] at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty property, Xamarin.Forms.BindableObject+BindablePropertyContext context, System.Object value, System.Boolean currentlyApplying, Xamarin.Forms.Internals.SetValueFlags attributes, System.Boolean silent) [0x0012a] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty property, System.Object value, Xamarin.Forms.Internals.SetValueFlags attributes, Xamarin.Forms.BindableObject+SetValuePrivateFlags privateAttributes) [0x0015b] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value, System.Boolean fromStyle, System.Boolean checkAccess) [0x0003d] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value, System.Boolean fromStyle) [0x00000] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.Setter.Apply (Xamarin.Forms.BindableObject target, System.Boolean fromStyle) [0x000c7] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.Style.ApplyCore (Xamarin.Forms.BindableObject bindable, Xamarin.Forms.Style basedOn) [0x0001e] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.Style.Xamarin.Forms.IStyle.Apply (Xamarin.Forms.BindableObject bindable) [0x0003e] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.MergedStyle.SetStyle (Xamarin.Forms.IStyle implicitStyle, System.Collections.Generic.IList1[T] classStyles, Xamarin.Forms.IStyle style) [0x00167] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.MergedStyle.set_Style (Xamarin.Forms.IStyle value) [0x0000d] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.VisualElement+<>c.<.cctor>b__269_7 (Xamarin.Forms.BindableObject bindable, System.Object oldvalue, System.Object newvalue) [0x00000] in <2213e65041254f04b27ae6e
[Error] ERR: file=MainActivity.java
[Error] ERR: class=md5ad0086fda8a2a6f068f68d1e85f2c021.MainActivity
[Error] ERR: method=n_onCreate line=-2
[Error] ERR: stack=android.runtime.JavaProxyThrowable: System.MissingMethodException: Default constructor not found for type XF.Material.Droid.Effects.MaterialTypeScaleEffect
[Error] at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x0007b] in <5683f1548d9948e4be244166d63ab903>:0
[Error] at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean wrapExceptions, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00009] in <5683f1548d9948e4be244166d63ab903>:0
[Error] at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Boolean wrapExceptions, System.Threading.StackCrawlMark& stackMark) [0x00027] in <5683f1548d9948e4be244166d63ab903>:0
[Error] at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00020] in <5683f1548d9948e4be244166d63ab903>:0
[Error] at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x00000] in <5683f1548d9948e4be244166d63ab903>:0
[Error] at System.Activator.CreateInstance (System.Type type) [0x00000] in <5683f1548d9948e4be244166d63ab903>:0
[Error] at Xamarin.Forms.Internals.DependencyResolver.ResolveOrCreate (System.Type type, System.Object[] args) [0x00053] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.Effect.Resolve (System.String name) [0x00017] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.RoutingEffect..ctor (System.String effectId) [0x00006] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at XF.Material.Forms.Effects.BaseMaterialEffect..ctor (System.String effectId) [0x00000] in :0
[Error] at XF.Material.Forms.Effects.MaterialTypeScaleEffect..ctor (XF.Material.Forms.Resources.Typography.MaterialTypeScale typeScale) [0x00000] in :0
[Error] at XF.Material.Forms.Effects.MaterialTypographyEffect.TypeScaleChanged (Xamarin.Forms.BindableObject bindable, System.Object oldValue, System.Object newValue) [0x00053] in :0
[Error] at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty property, Xamarin.Forms.BindableObject+BindablePropertyContext context, System.Object value, System.Boolean currentlyApplying, Xamarin.Forms.Internals.SetValueFlags attributes, System.Boolean silent) [0x0012a] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty property, System.Object value, Xamarin.Forms.Internals.SetValueFlags attributes, Xamarin.Forms.BindableObject+SetValuePrivateFlags privateAttributes) [0x0015b] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value, System.Boolean fromStyle, System.Boolean checkAccess) [0x0003d] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value, System.Boolean fromStyle) [0x00000] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.Setter.Apply (Xamarin.Forms.BindableObject target, System.Boolean fromStyle) [0x000c7] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.Style.ApplyCore (Xamarin.Forms.BindableObject bindable, Xamarin.Forms.Style basedOn) [0x0001e] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.Style.Xamarin.Forms.IStyle.Apply (Xamarin.Forms.BindableObject bindable) [0x0003e] in <2213e65041254f04b27ae6e57d256a86>:0
[Error] at Xamarin.Forms.MergedStyle.SetStyle (Xamarin.Forms.IStyle implicitStyle, System.Collections.Generic.IList1[T] classStyles, Xamarin.Forms.IStyle style) [0x00167] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.MergedStyle.set_Style (Xamarin.Forms.IStyle value) [0x0000d] in <2213e65041254f04b27ae6e57d256a86>:0 [Error] at Xamarin.Forms.VisualElement+<>c.<.cctor>b__269_7 (Xamarin.Forms.BindableObject bindable, System.Object oldvalue, System.Object newvalue) [ [Error] ERR: TOTAL BYTES WRITTEN: 28296

What suppose is the error in Release?
Thank

Method `XF.Material.Forms.UI.MaterialRadioButton..ctor()' is inaccessible

I am using materialradiobutton (single) control in my application but due to its protection level (You are using internal access modifier), I am unable to call its constructor. I am getting this error
Method `XF.Material.Forms.UI.MaterialRadioButton..ctor()' is inaccessible.

It is access modifier error. So If you make it public then it should work.

Android 7.1

Hi!

I was wondering if it would be possible the get this awesome library to run on Xamarin.Forms dev for android 7.1. I've tried getting the lowest version over Nuget, but I've got compatibility issues with Xamarin.Android.Support.* version, since 25.4.0.2 is the highest I can go with. Perhaps I'm missing something?

Many thanks!

Cheers,

The resource 'Material.LetterSpacing.Button' is not present in the dictionary.

After initialisation of the package on iOS and Android solution,
When I use one of component of the package, for example a MaterialRadioButton, I receive an runtime error.
System.Collections.Generic.KeyNotFoundException
The resource 'Material.LetterSpacing.Button' is not present in the dictionary.

Fixed;
Will need to add XF.Material.Forms.Material.Init(this) method in your Forms project App.cs.

unable to change loader color in LoadingDialogAsync

I am using LoadingDialogAsync to show loading progress on page navigation and it works perfectly.But the color of circular loader is not matched with my app theme and there is no option in MaterialLoadingDialogConfiguration to change circular loader color.

Support for Material Chip Transparent Image and Image Tinting

currently setting an icon with transparent background to the Material Chip will create a white background with image inside ( from the ChipImageContainer ).

also, with the image tinting feature in MaterialIconButton, i propose a property to tint the image color

Input Dialog Request

Hi sir. Can you also implement an input dialog like this?

An input dialog that accepts input when confirmed.
I've tried ACR.userdialog's prompt but it's kinda hard to customize.

Top padding MaterialTextField too low

Describe the bug
Hello !!

In the version 1.2.4, the top padding between the input and the placeholder became too low, and it's overlapping, somethimes, the input.
Maybe it's not even a bug, but i can't fix it. And with a page full of fields, it gets strange.

This is 1.2.0 version:
1 2 0

This is 1.2.4
1 2 4

(Obs: it we can control that padding, would be good too, so we can place an image, for example, on the left of the field without affecting the placeholder).

Smartphone (please complete the following information):

  • Device: Moto G6/Simulator
  • OS: , Android 8.0
  • Version 1.2.0/1.2.4

On Android 4.2.2 an exception Java.Lang.NoSuchMethodError: no method with name='getDrawable' is thrown.

The components are pretty nice, and they work fine for me on newer Android.
But when I also test it on 4.2.2, I receive the following exception:

Java.Lang.NoSuchMethodError: no method with name = 'getDrawable' signature='()Landroid/graphics/drawable/Drawable;' in class Landroid/graphics/drawable/InsetDrawable;
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in <f32579baafc1404fa37ba3ec1abdc0bd>:0 
  at Java.Interop.JniEnvironment+InstanceMethods.GetMethodID (Java.Interop.JniObjectReference type, System.String name, System.String signature)[0x0005b] in <09bf3e262b934ffab2ba01f9fc7fd54d>:0 
 at Java.Interop.JniType.GetInstanceMethod(System.String name, System.String signature) [0x0000c] in <09bf3e262b934ffab2ba01f9fc7fd54d>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.GetMethodInfo (System.String encodedMember)[0x00031] in <09bf3e262b934ffab2ba01f9fc7fd54d>:0 
 at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters)[0x0001c] in <09bf3e262b934ffab2ba01f9fc7fd54d>:0 
 at Android.Graphics.Drawables.InsetDrawable.get_Drawable() [0x0000a] in <25661073a35344a89f215a4cf81af37c>:0 
  at XF.Material.Droid.Renderers.MaterialButtonRenderer.CreateOutlinedButtonDrawable() [0x000ce] in C:\Users\cadn\source\repos\XF.Material\src\XF.Material\XF.Material.Droid\Renderers\MaterialButtonRenderer.cs:132 
  at XF.Material.Droid.Renderers.MaterialButtonRenderer.UpdateDrawable() [0x0003a] in C:\Users\cadn\source\repos\XF.Material\src\XF.Material\XF.Material.Droid\Renderers\MaterialButtonRenderer.cs:263 
  at XF.Material.Droid.Renderers.MaterialButtonRenderer.OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1[TElement] e) [0x00095] in C:\Users\cadn\source\repos\XF.Material\src\XF.Material\XF.Material.Droid\Renderers\MaterialButtonRenderer.cs:46 
  at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element)[0x000d5] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:178 
 at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element)[0x00027] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:126 

In my particular case I rather use only MaterialButton component.

The issue looks like this issue mentioned on stackoverflow:
https://stackoverflow.com/questions/30266971/why-getdrawable-doesnt-work-on-some-android-devices

My current version of XF.Material library: 1.0.4

Simple Dialog

This is more of a question than a issue, how do i get the click events on each of the string in

MaterialDialog.Instance.SelectActionAsync()

RTL Support

Describe the bug
Styling in couple of controls have problem with RTL Contents.

  • Placeholders in MaterialTextField and MaterialDialog don't go away when I start typing.
  • Confirm and Dismiss Buttons in MaterialDialog overlay each other.
  • Confirm Button in MaterialDialog is always Disable!!!

Screenshots
screen shot 2019-01-07 at 12 12 15 am
screen shot 2019-01-07 at 12 05 30 am

**Smartphone:

  • Device: Phone6
  • OS: iOS
  • Version: XF.Material 1.3.0.3

MaterialCard Shadow Elevation

Describe the bug
MaterialCard shadow behavior is different from what it is mentioned in the documents.

  • I have to call HasShadow to enable shadow effect. (It is not mentioned in the documents)
  • Setting Elevation seems like has no effect of Shadow Effect.

Screenshots
screen shot 2019-01-08 at 7 08 33 pm

Smartphone (please complete the following information):

  • Device: iPhone6 (Didn't test on Android)
  • OS: iOS12
  • Version 1.3.0.4

Error building app: invalid resource directory name "res font"

Describe the bug
Error building app: invalid resource directory name "res font"

To Reproduce
Steps to reproduce the behavior:

  1. Install addon
  2. build program

Expected behavior
build with no errors

Screenshots
image

Desktop (please complete the following information):

  • OS: Win10

Smartphone (please complete the following information):
Irrelevant (But it would be on an android device)

Additional context
Empty project with no components used, with the exception of the app.xaml.cs and mainactivity.cs filled out in the same way the guide says.

MaterialMenuButton Menu Sizing

Describe the bug
On Android, the menu of the MaterialMenuButton appears to calculate it's width based on the length of the last choice in the choice list. If choices before the last choice are longer, it truncates them.

To Reproduce
Steps to reproduce the behavior:
Create a MaterialMenuButton with multiple choices where the length of the last string is shorter than the length of the other choices.

Expected behavior
All choices should fit in the menu regardless of the order in which they are placed.

Screenshots
screenshot_20181219-142135
screenshot_20181219-142301

Smartphone (please complete the following information):

  • Device: Samsung Galaxy S9+

App Bar customization

Hi ,

I am loving this library and using it in various project.
Well documentation is very well and quite easy to follow and good to go but only one thing which i wanted to achieve which is App Bar Customization .

In sample there is MVVM sample but i want to use like normal page.

I try to achieve but no luck.

Kindly add some docs or if you directly help me with siple line of code so that would help.

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.