Don't draw divider under headers
Create SettingsDividerItemDecoration which reads PreferenceViewHolder isDividerAllowedAbove/Below so that will be taken into account as well as other ViewHolders which implements DividedViewHolder. Bug: 28445348 Change-Id: I73e298f2ca1688b135e533a8d3ef5f5c154963f7
This commit is contained in:
@@ -34,6 +34,7 @@ import android.widget.LinearLayout;
|
|||||||
|
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.settings.fingerprint.SetupSkipDialog;
|
import com.android.settings.fingerprint.SetupSkipDialog;
|
||||||
|
import com.android.settings.utils.SettingsDividerItemDecoration;
|
||||||
import com.android.setupwizardlib.GlifPreferenceLayout;
|
import com.android.setupwizardlib.GlifPreferenceLayout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -79,6 +80,7 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
|
|||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
||||||
|
layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
|
||||||
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
||||||
R.dimen.suw_items_glif_text_divider_inset));
|
R.dimen.suw_items_glif_text_divider_inset));
|
||||||
|
|
||||||
|
@@ -27,6 +27,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.android.settings.utils.SettingsDividerItemDecoration;
|
||||||
import com.android.setupwizardlib.GlifPreferenceLayout;
|
import com.android.setupwizardlib.GlifPreferenceLayout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,6 +82,7 @@ public class SetupEncryptionInterstitial extends EncryptionInterstitial {
|
|||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
||||||
|
layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
|
||||||
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
||||||
R.dimen.suw_items_glif_icon_divider_inset));
|
R.dimen.suw_items_glif_icon_divider_inset));
|
||||||
layout.setIcon(getContext().getDrawable(R.drawable.ic_lock));
|
layout.setIcon(getContext().getDrawable(R.drawable.ic_lock));
|
||||||
|
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2016 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.utils;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.support.v7.preference.PreferenceViewHolder;
|
||||||
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.android.setupwizardlib.DividerItemDecoration;
|
||||||
|
|
||||||
|
public class SettingsDividerItemDecoration extends DividerItemDecoration {
|
||||||
|
|
||||||
|
public SettingsDividerItemDecoration(Context context) {
|
||||||
|
super(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isDividerAllowedAbove(RecyclerView.ViewHolder viewHolder) {
|
||||||
|
if (viewHolder instanceof PreferenceViewHolder) {
|
||||||
|
return ((PreferenceViewHolder) viewHolder).isDividerAllowedAbove();
|
||||||
|
}
|
||||||
|
return super.isDividerAllowedAbove(viewHolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isDividerAllowedBelow(RecyclerView.ViewHolder viewHolder) {
|
||||||
|
if (viewHolder instanceof PreferenceViewHolder) {
|
||||||
|
return ((PreferenceViewHolder) viewHolder).isDividerAllowedBelow();
|
||||||
|
}
|
||||||
|
return super.isDividerAllowedBelow(viewHolder);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user