diff options
author | Struan Donald <struan@exo.org.uk> | 2013-09-13 14:26:54 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2013-09-13 14:26:54 +0100 |
commit | 247652f45c990d108765948d25cfa741bdc598f3 (patch) | |
tree | ea30efabeb2e8105c3741d367e76781ce0efeb9d | |
parent | 950f7ce9efa50da7bc07c30175268be5e84f767b (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.java | 15 |
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); } |