Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9caec234 authored by Edgar Wang's avatar Edgar Wang
Browse files

[Expressive design] Update SettingsSpinnerPreference offset.

Added drop down vertical offset to the SettingsSpinnerPreference.
The offset is set to the spinner when the layout is inflated.

Bug: 409891424
Test: visual
Flag: EXEMPT bug fix
Change-Id: I5d22df285be303727ff264959476341a15117e3f
parent fa5dff3d
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
<?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.
-->

<resources>
    <dimen name="settingslib_spinner_dropdown_vertical_offset_normal">@dimen/settingslib_expressive_space_medium4</dimen>
    <dimen name="settingslib_spinner_dropdown_vertical_offset_large">@dimen/settingslib_expressive_space_large2</dimen>
    <dimen name="settingslib_spinner_dropdown_vertical_offset_full">@dimen/settingslib_expressive_space_large2</dimen>
</resources>
+10 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ public class SettingsSpinnerPreference extends Preference
    private AdapterView.OnItemSelectedListener mListener;
    private int mPosition;
    private boolean mShouldPerformClick;
    private int mOffset;

    /**
     * Perform inflation from XML and apply a class-specific base style.
@@ -104,6 +105,14 @@ public class SettingsSpinnerPreference extends Preference
            default -> R.layout.settings_spinner_preference;
        };
        setLayoutResource(layoutRes);

        int size = switch (style) {
            case 1, 4 -> R.dimen.settingslib_spinner_dropdown_vertical_offset_large;
            case 2, 5 -> R.dimen.settingslib_spinner_dropdown_vertical_offset_full;
            default -> R.dimen.settingslib_spinner_dropdown_vertical_offset_normal;
        };
        mOffset =  context.getResources().getDimensionPixelSize(size);

        a.recycle();
    }

@@ -153,6 +162,7 @@ public class SettingsSpinnerPreference extends Preference
        spinner.setSelection(mPosition);
        spinner.setOnItemSelectedListener(mOnSelectedListener);
        spinner.setLongClickable(false);
        spinner.setDropDownVerticalOffset(mOffset);
        spinner.setAccessibilityDelegate(
                new View.AccessibilityDelegate() {
                    @Override