Button is clickable/touchable
Button is not clickable, it doesn't open the link and/or performs the JavaScript after the first click. Some more clicks near and around the button are necessary in order to click it and perform its action.
With fullscreen mode "hide the system bars" and "none" there is no such problem. The buttons recognize every touch and work as expected.
AnkiDroid Version = 2.9beta7
Android Version = 9
ACRA UUID = 1f29f610-893a-403f-83d5-25a26ba97fe0
Enter an [ x ] character to confirm the points below:
[X ] I have read the support page and am reporting a bug or enhancement request specific to AnkiDroid
[X ] I have checked the manual and the FAQ and could not find a solution to my issue
[ x ] I have searched for similar existing issues here and on the user forum
I have an idea how this bug might be caused: it seems that touching the button directly doesn't do anything. But touching around 20 pixels below the button works.
The cause seems to be the "hidden" status bar (the one with the three numbers for new/wrong/review cards). That bar is around 20 pixels in height and although it is "hidden", the touch fields on the cards are still in the same position as if the bar would be visible.
That explains why the bug only occurs in complete fullscreen mode. The second fullscreen mode with visible status bar doesn't have that bug.
Should be easy to fix I think? Reposition of the touch response area (I have no clue how to call that) for -20px (the height of the status bar).
keen observation and good thinking - seems very plausible. Not sure on the fix (I've done no triage, sorry) but this should be a good clue in to how to go about fixing it
and also the obvious workaround - use visible status bar instead of complete full screen if this is intolerable (workarounds are never great, but it's good to have them...)
I just started using complete fullscreen because I have the feeling that less distraction (i.e. status bar and answer buttons) results in a better accuracy. I'm fully focused on reviews now instead of always looking at the number of cards yet to come and the time on each answer button. Also I'm "forced" to press the hard button less since the answer button bar can only be reached by swiping down from the top of the screen. Less hard cards hopefully means less reviews in the future ;-)
So I'd like to keep complete fullscreen instead of visible status bar and answer buttons.
My workaround now is just as described: always touch/click 20px below the buttons.
Actually this problem is not limited to buttons. Also in order to select/mark text in the card one would need to touch 20px below the text. So it's simply a misplacement of the "touch area" which is not coherent with the card contents.
Therefore I would like to rename the issue accordingly (i.e. "Touch area in fullscreen doesn't match with card contents")
Great details - thank you - I took those and made it even more specific :-). This should be an interesting one to fix
The root cause is that in the full screen layout (reviewer_flashcard_fullscreen_2.xml), the display frame (flashcard_frame) doesn't have any margin while the touch one (touch_layer) does. It's a margin of 20dip so only coincidence that it's similar size to the status bar.
There's a comment in the layout
<!-- Whiteboard / gesture margin set on all sides so that immersive mode can be exited -->
Although from my testing with removing the margin, that doesn't seem to be the case. Does that make sense that the margin would be necessary?
There's a separate issue on the other fullscreen layout (reviewer_flashcard_fullscreen_1.xml), that one uses a right margin of 20dip so the bug on that screen manifests as needing to click slightly to the left of the item. That one has a comment about the margin being required to escape from landscape mode, which seems like nonsense.
So should the margin be removed completely from both?
reviewer_flashcard_fullscreen_1.xml is 'Hide the system bars'reviewer_flashcard_fullscreen_2.xml is 'Hide the system bars and answer buttons'Also, should these be renamed? 1 and 2 are some poor names.
Those names are not very descriptive, I don't see why they need to be static - a rename should be fine?
As for the layout I'd defer to your testing with a side glance at the git blame on the file to see who was responsible for it, you might be able to tag them in with a direct question and see if they respond with some wisdom/experience
@jgscherber Good to see that you could find the cause, thank you! I hope this issue can be solved finally since I already devoloped the bad habit of always pressing buttons in any app 20px below just because of AnkiDroid ;-)
Git blame turned up @timrae. Thoughts on the code comment and above?
<!-- Whiteboard / gesture margin set on all sides so that immersive mode can be exited -->
Tim mentioned elsewhere he's busy In Real Life for the next 2 weeks or so - I am also curious for the answer but am noting that just to ask for patience
Works perfectly now (alpha32). Thanks @jgscherber
Most helpful comment
I just started using complete fullscreen because I have the feeling that less distraction (i.e. status bar and answer buttons) results in a better accuracy. I'm fully focused on reviews now instead of always looking at the number of cards yet to come and the time on each answer button. Also I'm "forced" to press the hard button less since the answer button bar can only be reached by swiping down from the top of the screen. Less hard cards hopefully means less reviews in the future ;-)
So I'd like to keep complete fullscreen instead of visible status bar and answer buttons.
My workaround now is just as described: always touch/click 20px below the buttons.