Revise homepage sticky cards UI

- revmove material card layout
- remove slice header's divider
- add dividers below each sticky cards
- simplify contextual_slice_full_tile layout

Bug: 149371123
Test: visual
Change-Id: I13a8af21f565114220a093409e2a9ca664a57b02
This commit is contained in:
Jason Chiu
2020-02-12 19:15:26 +08:00
parent db818cb53c
commit 55563896be
6 changed files with 30 additions and 23 deletions

View File

@@ -21,10 +21,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/ContextualCardStyle"> style="@style/ContextualCardStyle">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/dismissal_swipe_background"/> <include layout="@layout/dismissal_swipe_background"/>
<androidx.slice.widget.SliceView <androidx.slice.widget.SliceView
@@ -33,11 +29,9 @@
style="@style/ContextualCardSliceViewStyle" style="@style/ContextualCardSliceViewStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:importantForAccessibility="no"/> android:importantForAccessibility="no"/>
<!--dismissal view--> <!--dismissal view-->
<include layout="@layout/contextual_card_dismissal_view"/> <include layout="@layout/contextual_card_dismissal_view"/>
</FrameLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>

View File

@@ -15,11 +15,12 @@
limitations under the License. limitations under the License.
--> -->
<com.google.android.material.card.MaterialCardView <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/ContextualCardStyle"> android:orientation="vertical"
style="@style/StickyCardStyle">
<androidx.slice.widget.SliceView <androidx.slice.widget.SliceView
android:id="@+id/slice_view" android:id="@+id/slice_view"
@@ -27,7 +28,9 @@
style="@style/ContextualCardSliceViewStyle" style="@style/ContextualCardSliceViewStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_marginBottom="@dimen/contextual_card_vertical_margin"
android:importantForAccessibility="no"/> android:importantForAccessibility="no"/>
</com.google.android.material.card.MaterialCardView> <include layout="@layout/horizontal_divider"/>
</LinearLayout>

View File

@@ -423,6 +423,12 @@
<item name="rippleColor">?android:attr/colorControlHighlight</item> <item name="rippleColor">?android:attr/colorControlHighlight</item>
</style> </style>
<style name="StickyCardStyle">
<item name="android:layout_marginBottom">@dimen/contextual_card_vertical_margin</item>
<item name="android:layout_marginStart">@dimen/contextual_card_side_margin</item>
<item name="android:layout_marginEnd">@dimen/contextual_card_side_margin</item>
</style>
<style name="SearchBarStyle"> <style name="SearchBarStyle">
<item name="android:layout_margin">@dimen/search_bar_margin</item> <item name="android:layout_margin">@dimen/search_bar_margin</item>
<item name="cardCornerRadius">@*android:dimen/config_dialogCornerRadius</item> <item name="cardCornerRadius">@*android:dimen/config_dialogCornerRadius</item>

View File

@@ -59,7 +59,7 @@ public class ConditionHeaderContextualCardRenderer implements ContextualCardRend
final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory( final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
mContext).getMetricsFeatureProvider(); mContext).getMetricsFeatureProvider();
view.icons.removeAllViews(); view.icons.removeAllViews();
headerCard.getConditionalCards().stream().forEach(card -> { headerCard.getConditionalCards().forEach(card -> {
final ImageView icon = (ImageView) LayoutInflater.from(mContext).inflate( final ImageView icon = (ImageView) LayoutInflater.from(mContext).inflate(
R.layout.conditional_card_header_icon, view.icons, false); R.layout.conditional_card_header_icon, view.icons, false);
icon.setImageDrawable(card.getIconDrawable()); icon.setImageDrawable(card.getIconDrawable());

View File

@@ -166,7 +166,7 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life
@OnLifecycleEvent(Lifecycle.Event.ON_STOP) @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onStop() { public void onStop() {
mFlippedCardSet.stream().forEach(holder -> resetCardView(holder)); mFlippedCardSet.forEach(holder -> resetCardView(holder));
mFlippedCardSet.clear(); mFlippedCardSet.clear();
} }

View File

@@ -16,6 +16,8 @@
package com.android.settings.homepage.contextualcards.slices; package com.android.settings.homepage.contextualcards.slices;
import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_STICKY;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
@@ -75,7 +77,9 @@ class SliceFullCardRendererHelper {
// Customize slice view for Settings // Customize slice view for Settings
cardHolder.sliceView.setShowTitleItems(true); cardHolder.sliceView.setShowTitleItems(true);
if (card.isLargeCard()) { if (card.isLargeCard()) {
if (holder.getItemViewType() != VIEW_TYPE_STICKY) {
cardHolder.sliceView.setShowHeaderDivider(true); cardHolder.sliceView.setShowHeaderDivider(true);
}
cardHolder.sliceView.setShowActionDividers(true); cardHolder.sliceView.setShowActionDividers(true);
} }
} }