Blackberry MainScreen Transitions - blackberry

While writing my first Blackberry application using Java, I am confused between inheriting from MainScreen and Screen classes.
My initial understanding was that there should be just a single MainScreen-derived class in an application, since we would like to define the screen title and other embellishments only once. All the rest of the screens (which are invoked on top of the MainScreen) should derive from Screen.
However, this doesn't seem to be true as I have not been able to get a screen completely cover the non-title area of the previous MainScreen.
Is there anything specific which I have overlooked in understanding how multiple screens in a Blackberry application should be created?

Maybe you are confused with classes names MainScreen and Screen. Basically MainScreen extends Screen and adds additional functionality like Menu management, title field, status field and has already VerticalManager on it. If you don't need this functionality, like you have your own better menu functionality, or you need all area for custom draw logic or something else. You have ability to extend Screen class otherwise I suggest you to use MainScreen for every screen in your app.

Have you read this on BlackBerry's developer site?
And also this?
I do often have one and only one MainScreen in my application. Other screens can derive from Screen or FullScreen. Whether or not you need every screen to be a MainScreen depends on whether your UI design requires things like the header (title) and footer (status) in each screen, which MainScreen provides.
Are you saying that you're adding other screens, and they simply aren't taking up enough space? If you want additional screens to occupy the full screen, I would subclass FullScreen, not just Screen.
And, you're showing new screens (after the initial MainScreen) with UiApplication.pushScreen() and UiApplication.popScreen()?

Related

GUI areas restricted by the iOS

I would like to be able to use the areas that are occupied by the iOS in my app, using javaFX and Gluon. How can this be done?
That means any javaFX controllers functions as expected. Now they are almost impossible for a user to focus. When I have another controller in the middle area of the screen that one works like normal.
On iPhone 6 you can press the top most area and drag down to get access to a menu. The same exact thing with the bottom-most area by pressing then dragging upwards. And I believe that OS related functionality to be the reason.
The touch event probably do not reach the app properly over these areas. I am seeking to be able to have controllers placed here and have them work just as they are in other places.
This was done by adding a VBox layout, with TextField and TextArea to Gluon Layer - and then adding it to Layers of a class extending Gluon View (Called "BasicView").

Take screenshots programmatically of entire scrollable area of another app in iOS

Currently it is cumbersome for the user to repeatedly scroll and take a screenshot if they want to capture more than what can fit on the screen at a time.
I would like to implement functionality such that at the request of a user (e.g. via tapping a special button on a custom keyboard), screenshots of the entire scrollable area of the currently opened app are automatically taken and stitched together.
Is this possible? And if so, how?
To clarify, the application containing the scrollable area is a third party application over which I have no control, e.g. iMessage or Facebook.
Edit: I am aware of answers like this one and this one that are about taking screenshots within an app that I control. As far as I can tell, these are not applicable in my situation. Please correct me if I am wrong about this.
This is not possible. Each app is contained in a protected sandbox that no other apps have access to.
You could make a custom keyboard, but you still wouldn't have access to any of the views in the app that you don't control.

Show Large 3D Touch Shortcut Widget

In iOS 10, when 3D touching on your app, a widget for the app appears along with 3D touch shortcuts. That widget is automatically the small version of your app's widget; is there any way to make that widget the large version of the widget (which is normally viewed by pressing Show More on the widgets screen)?
How can I make the widget that appears when 3D touching my app the large version of my app's widget (which normally appears when pressing Show More)?
The 3D Touch widget height is a system-level restriction. (You’ll notice that even Apple doesn’t override it for first-party apps.)
This is because the Quick Action menus themselves can get pretty tall, and widgets’ heights are effectively unlimited. And because one possible method of interacting with the Quick Action menu is sliding your finger up/down from where you pressed, scrolling is obviously out of the question.
As for how to work around this by getting rid of the widget altogether, it seems that iTunes Connect checks the value for the UIApplicationShortcutWidget key to ensure that the given bundle identifier actually exists and rejects the app if it doesn’t. The UIApplicationShortcutWidget key is officially defined so that, if an app has multiple widgets, it can choose which to show in the 3D Touch context.
Until Apple reverses this policy—and I wouldn’t hold my breath since this is something of an edge case—your only workarounds are to have that ignorable widget, or to reconsider the widget experience altogether.
Personally, I’d recommend reconsidering the widget altogether, since Apple recommends that widgets aren’t just “launch buttons” as you suggest, even when in the small size. Per the Human Interface Guidelines, widgets are to be used for “glanceable” information or simple interactions outside the app. Is there other useful information/functionality that you could place in the top 110 points in place of the launch button?
In addition, of course, you can always file a bug as an enhancement to see if Apple would be willing to entertain the idea. I suspect that it would involve the addition of a separate Info.plist key, probably a Boolean telling iOS whether a widget is desired in that context at all.
It's actually impossible. The short version of your widget is displayed when 3D Touching your app icon.
It also gives you the possibility to add it to your widget center. It's only there that you can see the full version by pressing the show more button.

how to Make small ticker screen Blackberry

I want to customize very first MainScreen of my Blackberry application as like small ticker screen. My aim is that the first MainScreen should be of size 320width,100height so when user launches the application then he will just see screen of size 320width and 100height (0,200,320,100) while remaining screen will be transparent and user will see other applications through transparent screen.
The best you could do is take a screenshot with your app backgrounded, to capture what would be underneath. Then draw the 320x100 UI on top of that screenshot. This has the visual effect you want, but if the underlying screens try to draw any update, that update will not be reflected in your UI.

use multiple views in an application

I am new to Iphone programming. So please don't mind if I ask some basic questions. :mad:
I want to develop an application where the landing screen will be a login screen and after login application should display a new screen with the list of available categories. And on selecting any category a new screen should appear with the information related to the selected category.
Basically I want to display different screens in the applications and my confusion is how can I make different screens with one .xib file? or should I use different .xib files for each screen. If I use different .xib files for each screen then how should I navigate to different screens.
Please help in solving this confusion.
Thanks in advance
Gaurav
You should definitely use different .xib's for each view. You will end up having a standard view, a table view (probably programatically wrapped in a navigation controller) and a standard view, respectively. Each will also have their own class.
You navigate to different screens by programmatically initializing them. The condition on which they are created varies from screen to screen. For example, your login screen will only create and load a table view for the categories after a successful login. The category screen will only create a detail screen when the user touches a category in the table.
I think your best bet is to pick up an iPhone programming book and do the first few chapters until you feel comfortable with the basics of XCode. The Apple documentation usually contains more than you really need to know and by the sounds of it, you just want to jump in and make a few simple apps.
After that, you can look at the Apple sample code here: http://developer.apple.com/iphone/library/navigation/index.html#section=Resource%20Types&topic=Sample%20Code

Resources