Add scroll indicators to GLIF Pixel theme
Add the scroll indicators to clearly indicate the divide between status bar, content area, and footer, even though they all have the same background color. The scroll indicator will only be shown if there are content beyond the fold. Test: ./gradlew connectedAndroidTest test Bug: 35446596 Change-Id: I5419e4f443a2414f8c983241b8fc61cadb48ef68
This commit is contained in:
parent
39056e5dc4
commit
039a55c144
|
@ -92,6 +92,7 @@
|
|||
<item name="suwItemDescriptionStyle">@style/SuwItemContainer.Description.Glif</item>
|
||||
<item name="suwListItemIconColor">@color/suw_list_item_icon_color_dark</item>
|
||||
<item name="suwMarginSides">@dimen/suw_glif_margin_sides</item>
|
||||
<item name="suwScrollIndicators">none</item>
|
||||
<item name="textAppearanceListItem">@style/TextAppearance.SuwGlifItemTitle</item>
|
||||
<item name="textAppearanceListItemSmall">@style/TextAppearance.SuwGlifItemSummary</item>
|
||||
</style>
|
||||
|
@ -121,6 +122,7 @@
|
|||
<item name="suwItemDescriptionStyle">@style/SuwItemContainer.Description.Glif</item>
|
||||
<item name="suwListItemIconColor">@color/suw_list_item_icon_color_light</item>
|
||||
<item name="suwMarginSides">@dimen/suw_glif_margin_sides</item>
|
||||
<item name="suwScrollIndicators">none</item>
|
||||
<item name="textAppearanceListItem">@style/TextAppearance.SuwGlifItemTitle</item>
|
||||
<item name="textAppearanceListItemSmall">@style/TextAppearance.SuwGlifItemSummary</item>
|
||||
</style>
|
||||
|
|
|
@ -18,17 +18,22 @@
|
|||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- Ignore UnusedAttribute: scrollIndicators is new in M. Default to no indicators in older
|
||||
versions. -->
|
||||
<com.android.setupwizardlib.view.HeaderRecyclerView
|
||||
android:id="@+id/suw_recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:scrollbars="vertical"
|
||||
app:suwHeader="@layout/suw_glif_header" />
|
||||
android:scrollIndicators="?attr/suwScrollIndicators"
|
||||
app:suwHeader="@layout/suw_glif_header"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
|
||||
<ViewStub
|
||||
android:id="@+id/suw_layout_footer"
|
||||
|
|
|
@ -17,17 +17,22 @@
|
|||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- Ignore UnusedAttribute: scrollIndicators is new in M. Default to no indicators in older
|
||||
versions. -->
|
||||
<com.android.setupwizardlib.view.StickyHeaderListView
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@android:id/list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
app:suwHeader="@layout/suw_glif_header" />
|
||||
android:scrollIndicators="?attr/suwScrollIndicators"
|
||||
app:suwHeader="@layout/suw_glif_header"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
|
||||
<ViewStub
|
||||
android:id="@+id/suw_layout_footer"
|
||||
|
|
|
@ -17,16 +17,21 @@
|
|||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- Ignore UnusedAttribute: scrollIndicators is new in M. Default to no indicators in older
|
||||
versions. -->
|
||||
<ScrollView
|
||||
android:id="@+id/suw_scroll_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:fillViewport="true">
|
||||
android:fillViewport="true"
|
||||
android:scrollIndicators="?attr/suwScrollIndicators"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -49,6 +49,26 @@
|
|||
<attr name="suwNavBarTextColor" format="color" />
|
||||
<attr name="suwNavBarTheme" format="reference" />
|
||||
|
||||
<!-- Values copied from frameworks/base/core/res/res/values/attrs.xml -->
|
||||
<attr name="suwScrollIndicators">
|
||||
<!-- No scroll indicators are displayed. -->
|
||||
<flag name="none" value="0x00" />
|
||||
<!-- Displays top scroll indicator when view can be scrolled up. -->
|
||||
<flag name="top" value="0x01" />
|
||||
<!-- Displays bottom scroll indicator when vew can be scrolled down. -->
|
||||
<flag name="bottom" value="0x02" />
|
||||
<!-- Displays left scroll indicator when vew can be scrolled left. -->
|
||||
<flag name="left" value="0x04" />
|
||||
<!-- Displays right scroll indicator when vew can be scrolled right. -->
|
||||
<flag name="right" value="0x08" />
|
||||
<!-- Displays right scroll indicator when vew can be scrolled in the
|
||||
start direction. -->
|
||||
<flag name="start" value="0x10" />
|
||||
<!-- Displays right scroll indicator when vew can be scrolled in the
|
||||
end direction. -->
|
||||
<flag name="end" value="0x20" />
|
||||
</attr>
|
||||
|
||||
<!-- Custom view attributes -->
|
||||
<attr name="suwColorPrimary" format="color" />
|
||||
<attr name="suwHeader" format="reference" />
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
<item name="suwBackgroundBaseColor">?android:attr/colorBackground</item>
|
||||
<item name="suwBackgroundPatterned">false</item>
|
||||
<item name="suwGlifHeaderGravity">center_horizontal</item>
|
||||
<item name="suwScrollIndicators">top|bottom</item>
|
||||
</style>
|
||||
|
||||
<style name="SuwThemeGlifPixel.Light" parent="SuwThemeGlif.Light">
|
||||
|
@ -33,6 +34,7 @@
|
|||
<item name="suwBackgroundBaseColor">?android:attr/colorBackground</item>
|
||||
<item name="suwBackgroundPatterned">false</item>
|
||||
<item name="suwGlifHeaderGravity">center_horizontal</item>
|
||||
<item name="suwScrollIndicators">top|bottom</item>
|
||||
</style>
|
||||
|
||||
<style name="Animation.SuwWindowAnimation" parent="@android:style/Animation.Activity">
|
||||
|
|
|
@ -95,6 +95,7 @@
|
|||
<item name="suwItemDescriptionStyle">@style/SuwItemContainer.Description.Glif</item>
|
||||
<item name="suwListItemIconColor">@color/suw_list_item_icon_color_dark</item>
|
||||
<item name="suwMarginSides">@dimen/suw_glif_margin_sides</item>
|
||||
<item name="suwScrollIndicators">none</item>
|
||||
</style>
|
||||
|
||||
<style name="SuwThemeGlif.Light" parent="android:Theme.Material.Light.NoActionBar">
|
||||
|
@ -121,6 +122,7 @@
|
|||
<item name="suwItemDescriptionStyle">@style/SuwItemContainer.Description.Glif</item>
|
||||
<item name="suwListItemIconColor">@color/suw_list_item_icon_color_light</item>
|
||||
<item name="suwMarginSides">@dimen/suw_glif_margin_sides</item>
|
||||
<item name="suwScrollIndicators">none</item>
|
||||
</style>
|
||||
|
||||
<!-- Button styles -->
|
||||
|
|
|
@ -106,6 +106,12 @@ public class GlifLayoutTest {
|
|||
Integer.toHexString(glifLayout.getBackgroundBaseColor().getDefaultColor()));
|
||||
assertFalse("GLIF Pixel theme shuold not have patterned background",
|
||||
glifLayout.isBackgroundPatterned());
|
||||
|
||||
if (VERSION.SDK_INT >= VERSION_CODES.M) {
|
||||
// Scroll indicators are only available on versions >= M
|
||||
assertEquals(View.SCROLL_INDICATOR_TOP | View.SCROLL_INDICATOR_BOTTOM,
|
||||
glifLayout.getScrollView().getScrollIndicators());
|
||||
}
|
||||
}
|
||||
|
||||
private void assertDefaultTemplateInflated(GlifLayout layout) {
|
||||
|
|
Loading…
Reference in a new issue