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.settings.fingerprint.SetupSkipDialog;
|
||||
import com.android.settings.utils.SettingsDividerItemDecoration;
|
||||
import com.android.setupwizardlib.GlifPreferenceLayout;
|
||||
|
||||
/**
|
||||
@@ -79,6 +80,7 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
||||
layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
|
||||
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
||||
R.dimen.suw_items_glif_text_divider_inset));
|
||||
|
||||
|
@@ -27,6 +27,7 @@ import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.settings.utils.SettingsDividerItemDecoration;
|
||||
import com.android.setupwizardlib.GlifPreferenceLayout;
|
||||
|
||||
/**
|
||||
@@ -81,6 +82,7 @@ public class SetupEncryptionInterstitial extends EncryptionInterstitial {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
||||
layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
|
||||
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
||||
R.dimen.suw_items_glif_icon_divider_inset));
|
||||
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