Merge "[Expressive design] Update homepage preference layout" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
6288eb50da
86
res/layout/homepage_preference_expressive.xml
Normal file
86
res/layout/homepage_preference_expressive.xml
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2025 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.
|
||||
-->
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
||||
android:minHeight="72dp"
|
||||
android:gravity="center_vertical"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:clipToPadding="false"
|
||||
android:baselineAligned="false">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/icon_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="40dp"
|
||||
android:minHeight="40dp"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="16dp">
|
||||
|
||||
<androidx.preference.internal.PreferenceImageView
|
||||
android:id="@android:id/icon"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:scaleType="centerInside"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/text_frame"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingStart="@dimen/homepage_preference_text_padding_start_expressive"
|
||||
android:paddingEnd="16dp">
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start"
|
||||
android:textAlignment="viewStart"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceListItem"
|
||||
android:hyphenationFrequency="normalFast"
|
||||
android:lineBreakWordStyle="phrase"
|
||||
android:ellipsize="marquee"/>
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@android:id/title"
|
||||
android:layout_alignStart="@android:id/title"
|
||||
android:layout_gravity="start"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@androidprv:color/materialColorOnSurfaceVariant"
|
||||
android:maxLines="4"
|
||||
android:hyphenationFrequency="normalFast"
|
||||
android:lineBreakWordStyle="phrase"
|
||||
style="@style/PreferenceSummaryTextStyle"/>
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
5
res/values/dimens.xml
Executable file → Normal file
5
res/values/dimens.xml
Executable file → Normal file
@@ -64,13 +64,13 @@
|
||||
<dimen name="actionbar_subsettings_contentInsetStart">72dp</dimen>
|
||||
|
||||
<!-- Dashboard image tile size -->
|
||||
<dimen name="dashboard_tile_image_size">36dp</dimen>
|
||||
<dimen name="dashboard_tile_image_size">40dp</dimen>
|
||||
|
||||
<!-- Dashboard foreground image size -->
|
||||
<dimen name="dashboard_tile_foreground_image_size">24dp</dimen>
|
||||
|
||||
<!-- Dashboard foreground image inset (from background edge to foreground edge) -->
|
||||
<dimen name="dashboard_tile_foreground_image_inset">6dp</dimen>
|
||||
<dimen name="dashboard_tile_foreground_image_inset">8dp</dimen>
|
||||
|
||||
<!-- Preference icon foreground image inset (from background edge to foreground edge) -->
|
||||
<dimen name="preference_icon_foreground_image_inset">12dp</dimen>
|
||||
@@ -106,6 +106,7 @@
|
||||
<dimen name="homepage_preference_icon_padding_start_two_pane">8dp</dimen>
|
||||
<dimen name="homepage_preference_text_padding_start">16dp</dimen>
|
||||
<dimen name="homepage_preference_text_padding_start_two_pane">24dp</dimen>
|
||||
<dimen name="homepage_preference_text_padding_start_expressive">12dp</dimen>
|
||||
<dimen name="homepage_app_bar_corner_radius">32dp</dimen>
|
||||
<dimen name="homepage_app_bar_padding_two_pane">6dp</dimen>
|
||||
<!-- bottom: search_bar_margin - homepage_app_bar_padding_two_pane -->
|
||||
|
0
res/values/menu_keys.xml
Executable file → Normal file
0
res/values/menu_keys.xml
Executable file → Normal file
@@ -23,6 +23,7 @@ import androidx.preference.PreferenceViewHolder;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.flags.Flags;
|
||||
import com.android.settingslib.widget.SettingsThemeHelper;
|
||||
|
||||
/** Helper for homepage preference to manage layout. */
|
||||
public class HomepagePreferenceLayoutHelper {
|
||||
@@ -42,7 +43,9 @@ public class HomepagePreferenceLayoutHelper {
|
||||
public HomepagePreferenceLayoutHelper(Preference preference) {
|
||||
preference.setLayoutResource(
|
||||
Flags.homepageRevamp()
|
||||
? R.layout.homepage_preference_v2
|
||||
? SettingsThemeHelper.isExpressiveTheme(preference.getContext())
|
||||
? R.layout.homepage_preference_expressive
|
||||
: R.layout.homepage_preference_v2
|
||||
: R.layout.homepage_preference);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user