Refine layouts for large screen

- Support dynamic paddings depending on app's screen width
- Add round corners to homepage ripple effect to improve the transition
  of being highlighted
- Add an interface to support dynamic split layout for suggestion cards

Bug: 223300824
Test: robotest, manual
Change-Id: Iaca6b4fd3f7369179416ef084a800d7eb2ee4640
This commit is contained in:
Jason Chiu
2022-03-24 16:58:31 +08:00
parent c4c923d1eb
commit 680fce3acd
17 changed files with 441 additions and 98 deletions

View File

@@ -19,29 +19,45 @@ package com.android.settings.widget;
import android.content.Context;
import android.util.AttributeSet;
import com.android.settings.R;
import androidx.preference.PreferenceViewHolder;
import com.android.settingslib.RestrictedTopLevelPreference;
/** Homepage preference that can be disabled by a device admin using a user restriction. */
public class RestrictedHomepagePreference extends RestrictedTopLevelPreference {
public class RestrictedHomepagePreference extends RestrictedTopLevelPreference implements
HomepagePreferenceLayoutHelper.HomepagePreferenceLayout {
private final HomepagePreferenceLayoutHelper mHelper;
public RestrictedHomepagePreference(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
setLayoutResource(R.layout.homepage_preference);
mHelper = new HomepagePreferenceLayoutHelper(this);
}
public RestrictedHomepagePreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setLayoutResource(R.layout.homepage_preference);
mHelper = new HomepagePreferenceLayoutHelper(this);
}
public RestrictedHomepagePreference(Context context, AttributeSet attrs) {
super(context, attrs);
setLayoutResource(R.layout.homepage_preference);
mHelper = new HomepagePreferenceLayoutHelper(this);
}
public RestrictedHomepagePreference(Context context) {
super(context);
setLayoutResource(R.layout.homepage_preference);
mHelper = new HomepagePreferenceLayoutHelper(this);
}
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
mHelper.onBindViewHolder(holder);
}
@Override
public HomepagePreferenceLayoutHelper getHelper() {
return mHelper;
}
}