aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2013-09-13 14:26:54 +0100
committerStruan Donald <struan@exo.org.uk>2013-09-13 14:26:54 +0100
commit247652f45c990d108765948d25cfa741bdc598f3 (patch)
treeea30efabeb2e8105c3741d367e76781ce0efeb9d
parent950f7ce9efa50da7bc07c30175268be5e84f767b (diff)
Resolve details screen scrolling issues on Android 2
Set Android 2 to use adjustPan when the soft keyboard is visible as this stops the details screen scrolling in such a way that the cursor is off the top of the screen. Leave the default for other versions as then the screen is scrollable. Fixes #128
-rw-r--r--Android/src/org/mysociety/FixMyStreet/AndroidActivity.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/Android/src/org/mysociety/FixMyStreet/AndroidActivity.java b/Android/src/org/mysociety/FixMyStreet/AndroidActivity.java
index a8eee96..b9ed19a 100644
--- a/Android/src/org/mysociety/FixMyStreet/AndroidActivity.java
+++ b/Android/src/org/mysociety/FixMyStreet/AndroidActivity.java
@@ -1,6 +1,8 @@
package org.mysociety.FixMyStreet;
import android.os.Bundle;
+import android.view.WindowManager;
+
import org.apache.cordova.*;
public class AndroidActivity extends DroidGap {
@@ -8,6 +10,19 @@ public class AndroidActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ /* yes, we are using a magic number here but the version constants aren't defined
+ until the relevant release so if you want to check against a version that's
+ after your minimum target version you have to use the number :(
+ in this case 11 is Honeycomb / 3.0 */
+ if (android.os.Build.VERSION.SDK_INT <= 11) {
+ /* If we leave the default on for android 2 then on the details screen it scrolls
+ the details screen in such a way that you can't see where you are typing so
+ we switch back to adjustPan. We don't want to use that all the time as adjustPan
+ stops you scrolling the screen when the softKeyboard is displayed which is what
+ we'd like to be able to do so people can scroll to see if there are other
+ fields. */
+ getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
+ }
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl("file:///android_asset/www/src/index.html", 30000);
}