How to show use Page.IsBusy in xamarin.froms? - xamarin

I binded property IsBusy="{Binding IsBusy} and label from my page to viewmodel property. I see value changed in label, by i can't see any busy indicator on page on android, is it right?

I think there is some confusion over the IsBusy property. On iOS it shows the indicator in the statusbar which is questionable because the indicator there, according to iOS guidelines is only to be shown for network activity.
On Android it doesn't seem to do anything (visually) at all. Also see this bug on Bugzilla where this discussion is ongoing on what you, as a developer, can expect it to do.
When we read the documentation page for the IsBusy property it says:
Marks the Page as busy. This will cause the platform specific global
activity indicator to show a busy state.
So you should be able to see an activity indicator, also on Android. But in the bug mentioned earlier it is stated that it only appears if certain conditions are met or not at all when using AppCompat.
For now, if you have a requirement for this, I think it would be best to either skip over it for now until this is sorted out or implement your own visual aids.

The activity indicator on Android was removed as part of the transition to material design, as it was no longer inline with the design recommendations.

Related

How to change Display Alert default focus on a button?

I am using Xamarin forms DisplayAlert. I have two buttons in it one is light blue and another is Darker blue. I guess it is focus effect causing the difference.
can I set focus as per requirement? I tried to search documentation but no luck.
DisplayAlert("Caption", "Message", "Cancel", "Send");
Cancel and send are buttons on display alert. Default focus on Cancel.I want to switch focus to Send without changing position of buttons.
I am pretty sure that Xamarin doesn't (and will not) support providing focus to a specific button using a DisplayAlert since this feature exists in iOS only. Remember that Xamarin.Forms is meant to target all platforms, and not iOS only, and introducing a "focus" variable for a single platform would thus be a no-go.
What you can do, is to swap your two buttons around as you mentioned yourself.
If that is not an option, have a look at what you can achieve using third party libraries such as Acr.UserDialogs.
If that doesn't help you either, you will probably need to write a Custom Control or use an ActionSheet instead.
Good luck.

Chrome DevTools: Triangle warning icon on Timeline view, what is it?

Does anyone know what the triangular warning icon on Google Chrome Developer Tools Timeline View represents? When I hover over it, click it etc - there's no different information provided than for any of the other events. The event itself doesn't look to be long either, I can't work out what it's warning me about.
Thanks.
This warning sign means that some code (e.g. element.offsetHeight or document.width) has triggered a synchronous layout event, which can adversely affect the performance in some cases. You should be able to see the associated stack trace if you expand the event tree.
A full explanation of this triangle and what it means is in the DevTools documentation:
https://developer.chrome.com/devtools/docs/timeline#locating-forced-synchronous-layouts
(source: chrome.com)
It includes a Forced Synchronous Layout demo to understand it better.

Selective Virtualization in WP7 Listbox with VirtualizingStackPanel

I am referring an app like Facebook WP7 app. When we try to scroll a long list of the feed items. Only the heading of an feed item seems to be visible and when the scroll is completed remaining details gets loaded. If it is a normal Listbox where virtualization is enabled complete data disappears and all the controls seem to be recycled. So in facebook app, I thought that the virtualization is happening on selective items. Am I right?
If yes, how to do a selective virtualization? and if I am wrong what is the app exactly doing? Any resource regarding this will be helpful.
Thanks in advance.
I believe that this is just how their data binding works.
They get an initial list that contains the "headers" and some basic information, which they show. They then make more calls to grab the rest of the info. When that info comes in, it updates in the view model and thru databinding shows up on the list.
I have apps that do that, and they behave similarly to how FB's listbox behaves.
As Willmell pointed out, this msdn link describes what Facebook is doing exactly. The template of the listBoxItem will be switched while scrolling.
Try to look here. This guide helps me to solve a similar problem.

How i can NOT handle the selectionchange event in Panoramic View in WP7?

i have developed my own map control (similar Bing Maps control), but when i move this map to right or left, Panorama changes view, but when i move the same bing map, view doesn't change. How i can do the behaviour of my control similarly as in Bing maps
The issue is that your control is trying to handle gestures and so is the Panorama. This was a big issue for a lot of people in the early version of the tools. The standard response was always to avoid this situation as it has implications for usability. Unfortunately there are some situations where you really need this.
The NoDo update (March 2011) included a "fix" to work around this issue for the built in controls. That doesn't help you though.
Fortunately there is a work around.
When contact is made with your control you disable the "IsHitTestVisible" property on the container so that it doesn't also receive the gestures you are capturing. Be sure to set it abck afterwards though.
See http://mine.tuxfamily.org/?p=111 for more details.

BusyIndicator control

It seems that the phone control toolkit is missing the BusyIndicator control.
Does someone know about one ?
does something else specific exists for WP7 ?
Have you seen the ProgressBar control? You can use the ProgressBar control to show that your application is busy doing something. It is recommended that you use PerformanceProgressBar by Jeff Wilcox (Remember to read his follow up post too, it is important to consider IsIndeterminate and its value).
If you wanted to create a splash screen with a progress bar in it, check out this example. Alex also shows how to customize the progress dialog in this post.

Resources