Windows Phone ApplicationBar MenuItems space issue - windows-phone-7

I have developed an app for Windows Phone 7 (which is also being updated to Windows Phone 8) and I have a peculiar UI issue in Application Bar.
I'm adding 4 ApplicationBarMenuItems to the ApplicationBar.
But when the app renders the ApplicationBar, it shows extra space at the bottom of the appBar.
This doesn't happen when I used 3 ApplicationBarMenuItems.
Note: This behavior is observed in both WP7.5 & WP8.
I could not find any official documentation that explains this or a workaround. I came across the below post,
http://www.jeff.wilcox.name/2011/03/metro-design-guide-v1/
which states,
The application bar moves to a specific size depending on the number of menu items in it. If you have 4 items, it will show the size for 5
– so visually it may not look quite right. Try optimizing for 3 or 5
menu items if you can for the best, tightest look.
Any thoughts?

There is no workaround and you are right that there is no info in MSDN about it (http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff431813(v=vs.105).aspx)

Related

Windows 10 app - SplitView or Pivot?

I create my first app for Windows 10. I will use the app for Windows 10 desktop and phone. Great that one code will run on desktop and phone. In my old application for Windows Phone 8 I use Panorama control with three tabs. But I can not decide which component to use - SplitView or Pivot? For desktop better suited SplitView . For phone better suited - Pivot. Need to choose one solution. What do you advise?
First, your following statement is incorrect.
For desktop better suited SplitView. For phone better suited - Pivot.
SplitView and Pivot are for different purposes -
SplitView consists of two parts - Pane and Content. The Content is where the main content goes. The Pane is really just a drawer. This control is meant to provide a very common drawer navigation pattern to the new UWP apps, similar to many iOS and Android apps.
Note that this control is also very flexible, you can use AdaptiveTrigger to customize its DisplayMode to completely hide the Pane when it's on a phone, and make it always visible when on a desktop machine.
Prior to UWP, the original Metro Design heavily relied on the Panorama control (i.e. the Hub control in UWP) for menu navigation and this later becomes a bit boring since almost all the apps that need a menu, use a Pano. So having a new SplitView will definitely help developers be a bit more creative on the main layout design. And besides, the drawer navigation is so widely used across other platforms and users generally know how to interact with it.
Pivot on the other hand, is simply a swipe-enabled tab control. It's meant to display information at the same level and should never be used like a navigation frame. Leave the navigation bit to the SplitView or the old panorama style Hub control, or whatever creative ways you can come up with.
So to answer your question, you don't have to choose one between them, these two controls can co-exist since one does the navigation and the other shows the information, just like what's in the picture below -

How to increase the Sencha touch 2 app performance on Tablet(samsung) and Ipad

I have a requirement for tablet(Android) and ipad. For this am coding using sencha touch 2 wherein am not getting good performance after deploying on device using phonegap build.
For instance-
1. If i tap on select field it takes some 5 seconds to display popup.
2. Also am creating side panel includes list, on tap of each list item am setting a separate view on detail panel. Here also its taking 5 seconds to set that view in detail panel(On samsung galaxy tablet its worst case while painting the screen).
Is there any way to increase the performance on tablet?? Please help me out in solving this performance issues.
Thanks.
If you are worried about slow response to click events, you should look at what people at yelp did in their mobile website : http://engineeringblog.yelp.com/2013/01/mission-beyond-the-mobile-browser.html
Let me know if this helps

How can to see off screen content at design time in Blend or VS for Windows Phone 7 or 8

I am designing a long Windows Phone 8 page. It is very frustrating that I can't see most of it in the design visuals.
I was wondering if anyone knows a way of being able to see the content visually, at design time, of either the bottom of the page (i.e. scrolling up in the designer), or preferable to be able to see the whole page.
I know you can turn the chrome off, is there any way to turn the view windows masking frame off?
This also applies to trying to see a whole panorama view too!
Thanks
Try temporarily collapsing the controls which are above the controls which is getting off screen. Later you can set that control to required dimensions again.
Instead of removing d:DesignWidth & d:DesignHeight from xaml root tag, just set these values high enough such that all of your content gets displayed.

Hide or not to hide the system tray in a Windows Phone 7 application?

I am debating whether to hide or not to hide the system tray in a Windows Phone 7 application. I've not found any general suggestions on this issue -the official Windows Phone design guidelines don't address this issue at all - except for Jeff Wilcox's blog post who suggested that he personally likes to see the system tray in applications. I'd like some general advice on this issue from other Windows Phone developers.
Some reasons for showing the system tray are
Doesn't take up that much space
Users may want to see it at times
Reasons for hiding it are
You can't control its background: unless you're using PhoneBackgroundBrush as the background the top row will stand out
Lots of widely used / official apps already hide it: all games as well as the official Facebook and Twitter app.
I'd appreciate all advice on this.
Transparency and colors are now possible with Mango by setting its BackgroundColor and Opacity :
shell:SystemTray.IsVisible="True"
shell:SystemTray.BackgroundColor="Transparent"
shell:SystemTray.Opacity="0"
I would say by default show it unless it really gets in the way in a way you can't workaround, especially if its an app and not a game.
I would say it depends on the application/game you are writing
If the app needs a network connection or if you will be in the application for a long period of time show it so the user can keep an eye on network and battery.
If you need the extra screen space (for a game?), and you rarely need network hide it.
Or... I guess you leave it up-to the user and give them a setting to programatically hide/show it.
I think its best to use the tray in applications that are tools or utilities. Typically these users would prefer more info than less when they're using applications on the phone (battery, network, time).
Also adding the tray in there tends to make the application look more native on the phone (according to me and others I've asked), which is a big plus because the user associates your app as if it was built with the phone OS.
But if the application is a game, media, etc. type of application I recommend you take it off, especially on panorama because it takes away from the intended design. Also these types of applications focus on the content and seeing multiple little icons at the top can take away from the experience.
Really to me the space it occupies isn't really THAT much, so that shouldn't be too much of an issue. But rather the purpose of the app as stated above.
I do like the suggestions that have been given as far as giving the user the choice. Check out this code:
bool ShowTray;
//ASK USER WHAT THEY WANT
//ShowTray = true or false;
SystemTray.IsVisible = ShowTray;
I've been reluctantly hiding, at least on any view where I have a background image; otherwise it looks too strange to me. I've been considering a setting in my app that would allow the user to choose, and persisting that to isolated storage.
Also considering maybe having the top of the screen in phone background brush color and have it fade / blend into another color or background image. Not sure how well that would turn out but as long as it is not a cheesy looking gradient effect, perhaps.
I'm hoping eventually MS will soon add support for transparency in the system tray or otherwise help address this issue. As a user I wish that I could force the system tray to always be visible across all apps, but as a developer I realize that the visual effect often doesn't look good.
Perhaps if the community came up with a new UX metaphor where maybe double-tapping in the system tray area would toggle whether it is visible. A single tap could perhaps start to animate / pop / hint at the system tray...

can anyone show me how and How they have 5 button on the title bar instead of 3 max, resize, close in Windows?

mostly in all article i found that everyone show that their OS give them 5 button. can anyone explain how
http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part1-cs
in this article every window's title bar have 5 button on top whenever i can see only three button in my windows [close, restore ,maximize].
can anyone show me reason behind it.
They're running UltraMon, which is a utility that provides enhancements for multiple monitor support.
In particular, it adds extra window management buttons to the title bars of all applications, which make it easy to move windows from screen to screen.
You can download a free evaluation version from the vendor, but the full version will cost you $39.95 US.
He has multiple screens on his computer, those buttons mean move to next screen.
Extra buttons in the titlebar come from utility applications that hook into every process.
Take a look at this tutorial for a basic example, you also need to register a hook with SetWindowsHookEx (WH_CBT or WH_SHELL)
For Windows Vista and 7, Microsoft has provided detailed guidance in the article Custom Window Frame Using DWM.
Copied from my answer here.

Resources