My navigation drawer sometimes does not appear, the toggle button turns into an arrow pointing left and the screen dims, but the fragments and layout don't appear.
I can't reliably replicate this issue and it happens rarely, randomly, and didn't see anything in my searches about it. So maybe this is a known issue or maybe others are having the same thing.
Related
I want to implement a side drawer widget. I don't know if I am using the right words or not. A small icon will be placed on the left/right side of the screen, if it is swiped, it should open an activity. If I close it, it should remain on the side of the screen until application is closed from the inside. I have seen this in an application and I am posting screen shot too.
Notice the image hint on the left side. Its always there even if we press home button:
I searched for it but didn't find anything. I guess it's because I am not searching with the correct words maybe? It would be great if I knew the name of this widget.
I recently added the following code to my app to remove the navigation bar (soft buttons) from some phones. This caused some resizing issues with my app so getting rid of the navigation bar was ideal.
getWindow().requestFeature(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
See more: https://developer.android.com/training/system-ui/navigation.html
This does exactly what I wanted. The soft buttons are no longer present on devices such as the Nexus 5. However, this caused the side effect of disabling and touch or gestures until there is at least one touch event first. For example, I have some buttons on the home screen. With the above code, tapping on the button the first time does nothing. From the second time onwards, the app behaves like normal. My app also uses a viewpager, and swiping to other tabs or selecting another tab from the action bar also has no effect until I tap somewhere on the screen first.
Obviously, this behaviour is not wanted. When the user opens the app and selects one of the buttons, they expect the button to be clicked. Instead, they'd have to tap the button twice (and then everything works fine from that point on).
I'm testing this on the Samsung Galaxy S3 (which does not have the navigation bar along the bottom) and the Nexus 5 (which does have the navigation bar along the bottom).
Edit: Further research - Hiding the navigation bar is only temporary. The navigation bar is requesting focus for the first touch event, since the navigation bar is meant to pop back up as soon as there is any kind of ui event. So even on the Galaxy S3, which has no navigation bar in the first place, the touch event is being sucked up by the navigation bar. For devices that really do have a navigation bar, the bar will reappear on every interaction and you must tell the device to hide it again. As far as I can tell, there is no way to permanently hide the navigation bar.
My next question is to find out how it is possible to query the device to see if there is a navigation bar. If I know that the device does not have the navigation bar, then there is no need to try to hide it and have the OS absorb the first touch event.
SYSTEM_UI_FLAG_HIDE_NAVIGATION is designed for passive activities like watching videos and maybe reading books. For your purposes, immersive mode is a better choice. https://developer.android.com/training/system-ui/immersive.html
More specifically you may want to add the SYSTEM_UI_FLAG_IMMERSIVE_STICKY flag together with SYSTEM_UI_FLAG_HIDE_NAVIGATION, so that the navigation bar is hidden and will stay hidden until user swipes from top or bottom.
Note that a "reminder bubble" will appear the first time a user enters this mode in your app.
I try to find a way to disable the quick settings menu bar on Android devices (it appears at least on my Samsung Galaxy Tab S). I mean the one on top of the screen when I swipe down. When I swipe the first time there is only a black small bar with some icons. When i swipe the second time, the whole menu opens and it covers the whole screen. I put already Fullscreen true in my config.xml. It still appears.
I searched forever but didn't find anything. Hope somebody can help me...
Thank you!
In Samsung Galaxy S3, even though my app is set to be full screen, and this makes the notification bar not to be visible, if I swipe from the very edge of the screen side, this action will make the notification bar to appear again, allowing the user to expand it over the full screen app.
Is there any way to disable this, or to cancel the expand of the notification bar?
The problem is that I have a listview covering the whole screen, and if I swipe to scroll the items, every time I do it from the very edge due to the instinctive action of scrolling faster, then the notification bar appears again.
I've tried tricks such as creating an overlay window on the edge, but not working at all for SG3.
Thanks
If you haven't tried already, you might attempt to use the View flag for hiding navigation, SYSTEM_UI_FLAG_HIDE_NAVIGATION, documented here.
However it may be important to note this found at the bottom of their description :
There is a limitation: because navigation controls are so important, the least user interaction will cause them to reappear immediately. When this happens, both this flag and SYSTEM_UI_FLAG_FULLSCREEN will be cleared automatically, so that both elements reappear at the same time.
which is probably related to what you're seeing. I find it hard to believe there's a way around this... I just tried and every fullscreen app I have on my S3 behaves this exact same way.
I suspect that if there was a way around it (assuming the above doesn't work, which I don't expect it to), it would be considered to be a bug by the Android team, and I would advise against it.
I am programming an Android app and it seems to work well, but when the user presses the 'home' button, and after returns to the app, the activity has changed his position some pixels, and due to this some buttons are hidden.
It only happens in some phone models , and only with visual effects enabled on the operating system.
It seems that the activity is drawn before the top bar of Android dissapears (the bar with the battery info, wifi... etc), and the activity starts to draw under the place of this bar.
What can be happening? how can I solve it?
Thank you very much!
PD: I am using a relative layout on this activity, and some layouts inside placed at top and bottom.
PD2: I forgot to tell that the app is in "no tittle bar and fullscreen".