diff options
-rw-r--r-- | library/eclair-mr1/res/values/styles.xml | 8 | ||||
-rw-r--r-- | library/main/src/com/android/setupwizardlib/util/SystemBarHelper.java | 16 | ||||
-rw-r--r-- | library/platform/res/values-v21/styles.xml | 8 |
3 files changed, 24 insertions, 8 deletions
diff --git a/library/eclair-mr1/res/values/styles.xml b/library/eclair-mr1/res/values/styles.xml index 88e06e9..9b6b659 100644 --- a/library/eclair-mr1/res/values/styles.xml +++ b/library/eclair-mr1/res/values/styles.xml @@ -21,10 +21,12 @@ <style name="SuwThemeMaterial" parent="Theme.AppCompat.NoActionBar"> <item name="android:indeterminateTint" tools:ignore="NewApi">@color/suw_progress_bar_color_dark</item> + <!-- Specify the indeterminateTintMode to work around a bug in Lollipop --> + <item name="android:indeterminateTintMode" tools:ignore="NewApi">src_in</item> <item name="android:textColorLink">@color/suw_link_color_dark</item> <item name="android:textColorSecondary">@color/suw_color_secondary_dark</item> <item name="android:windowAnimationStyle">@style/Animation.SuwWindowAnimation</item> - <item name="android:windowSoftInputMode">adjustPan</item> + <item name="android:windowSoftInputMode">adjustResize</item> <item name="colorAccent">@color/suw_color_accent_dark</item> <item name="suwCardBackground">@drawable/suw_card_bg_dark</item> @@ -33,10 +35,12 @@ <style name="SuwThemeMaterial.Light" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:indeterminateTint" tools:ignore="NewApi">@color/suw_progress_bar_color_light</item> + <!-- Specify the indeterminateTintMode to work around a bug in Lollipop --> + <item name="android:indeterminateTintMode" tools:ignore="NewApi">src_in</item> <item name="android:textColorLink">@color/suw_link_color_light</item> <item name="android:textColorSecondary">@color/suw_color_secondary_light</item> <item name="android:windowAnimationStyle">@style/Animation.SuwWindowAnimation</item> - <item name="android:windowSoftInputMode">adjustPan</item> + <item name="android:windowSoftInputMode">adjustResize</item> <item name="colorAccent">@color/suw_color_accent_light</item> <item name="suwCardBackground">@drawable/suw_card_bg_light</item> diff --git a/library/main/src/com/android/setupwizardlib/util/SystemBarHelper.java b/library/main/src/com/android/setupwizardlib/util/SystemBarHelper.java index 4cba014..ff6e05f 100644 --- a/library/main/src/com/android/setupwizardlib/util/SystemBarHelper.java +++ b/library/main/src/com/android/setupwizardlib/util/SystemBarHelper.java @@ -219,19 +219,27 @@ public class SystemBarHelper { @Override public WindowInsets onApplyWindowInsets(View view, WindowInsets insets) { + int bottomInset = insets.getSystemWindowInsetBottom(); final int bottomMargin = Math.max( insets.getSystemWindowInsetBottom() - mNavigationBarHeight, 0); - ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) view.getLayoutParams(); - lp.setMargins(lp.leftMargin, lp.topMargin, lp.rightMargin, bottomMargin); - view.requestLayout(); + final ViewGroup.MarginLayoutParams lp = + (ViewGroup.MarginLayoutParams) view.getLayoutParams(); + // Check that we have enough space to apply the bottom margins before applying it. + // Otherwise the framework may think that the view is empty and exclude it from layout. + if (bottomMargin < lp.bottomMargin + view.getHeight()) { + lp.setMargins(lp.leftMargin, lp.topMargin, lp.rightMargin, bottomMargin); + view.setLayoutParams(lp); + bottomInset = 0; + } + return insets.replaceSystemWindowInsets( insets.getSystemWindowInsetLeft(), insets.getSystemWindowInsetTop(), insets.getSystemWindowInsetRight(), - 0 /* bottom */ + bottomInset ); } } diff --git a/library/platform/res/values-v21/styles.xml b/library/platform/res/values-v21/styles.xml index 8d311a4..dc9b9b6 100644 --- a/library/platform/res/values-v21/styles.xml +++ b/library/platform/res/values-v21/styles.xml @@ -27,12 +27,14 @@ <style name="SuwThemeMaterial" parent="android:Theme.Material.NoActionBar"> <item name="android:colorAccent">@color/suw_color_accent_dark</item> <item name="android:indeterminateTint">@color/suw_progress_bar_color_dark</item> + <!-- Specify the indeterminateTintMode to work around a bug in Lollipop --> + <item name="android:indeterminateTintMode">src_in</item> <item name="android:navigationBarColor">@android:color/black</item> <item name="android:statusBarColor">@android:color/black</item> <item name="android:textColorLink">@color/suw_link_color_dark</item> <item name="android:textColorSecondary">@color/suw_color_secondary_dark</item> <item name="android:windowAnimationStyle">@style/Animation.SuwWindowAnimation</item> - <item name="android:windowSoftInputMode">adjustPan</item> + <item name="android:windowSoftInputMode">adjustResize</item> <item name="suwCardBackground">@drawable/suw_card_bg</item> <item name="suwNavBarTheme">@style/SuwNavBarThemeDark</item> @@ -41,12 +43,14 @@ <style name="SuwThemeMaterial.Light" parent="android:Theme.Material.Light.NoActionBar"> <item name="android:colorAccent">@color/suw_color_accent_light</item> <item name="android:indeterminateTint">@color/suw_progress_bar_color_light</item> + <!-- Specify the indeterminateTintMode to work around a bug in Lollipop --> + <item name="android:indeterminateTintMode">src_in</item> <item name="android:navigationBarColor">@android:color/black</item> <item name="android:statusBarColor">@android:color/black</item> <item name="android:textColorLink">@color/suw_link_color_light</item> <item name="android:textColorSecondary">@color/suw_color_secondary_light</item> <item name="android:windowAnimationStyle">@style/Animation.SuwWindowAnimation</item> - <item name="android:windowSoftInputMode">adjustPan</item> + <item name="android:windowSoftInputMode">adjustResize</item> <item name="suwCardBackground">@drawable/suw_card_bg</item> <item name="suwNavBarTheme">@style/SuwNavBarThemeLight</item> |