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

View File

@@ -15,11 +15,12 @@
limitations under the License.
-->
<com.google.android.material.card.MaterialCardView
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/ContextualCardStyle">
android:orientation="vertical"
style="@style/StickyCardStyle">
<androidx.slice.widget.SliceView
android:id="@+id/slice_view"
@@ -27,7 +28,9 @@
style="@style/ContextualCardSliceViewStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginBottom="@dimen/contextual_card_vertical_margin"
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>
</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">
<item name="android:layout_margin">@dimen/search_bar_margin</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(
mContext).getMetricsFeatureProvider();
view.icons.removeAllViews();
headerCard.getConditionalCards().stream().forEach(card -> {
headerCard.getConditionalCards().forEach(card -> {
final ImageView icon = (ImageView) LayoutInflater.from(mContext).inflate(
R.layout.conditional_card_header_icon, view.icons, false);
icon.setImageDrawable(card.getIconDrawable());

View File

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

View File

@@ -16,6 +16,8 @@
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.content.Context;
import android.view.View;
@@ -75,7 +77,9 @@ class SliceFullCardRendererHelper {
// Customize slice view for Settings
cardHolder.sliceView.setShowTitleItems(true);
if (card.isLargeCard()) {
if (holder.getItemViewType() != VIEW_TYPE_STICKY) {
cardHolder.sliceView.setShowHeaderDivider(true);
}
cardHolder.sliceView.setShowActionDividers(true);
}
}