gpt4 book ai didi

android - 在 Android 7.0 中触摸时微调器滚动到默认选择

转载 作者:行者123 更新时间:2023-11-29 02:41:16 25 4
gpt4 key购买 nike

我在我的应用程序中使用微调器,并使用自定义适配器来填充微调器中的条目。一切正常,比如点击它、设置选择值等,但是当我尝试在微调器上滚动时,微调器本身移动到默认选择位置,无论它在哪里,无论是在顶部还是底部,如当我再次触摸它进行滚动时,我被置于默认选择。

您可以在下面的代码中找到适配器、微调器声明和微调器项。

微调器.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="8dp"
android:paddingTop="8dp"
android:paddingBottom="8dp">

<Spinner
android:id="@+id/toolbar_spinner"
style="@style/ToolbarSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>

spinner_item.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:background="?attr/selectableItemBackground">

<View
android:id="@+id/line_separator"
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/divider"
android:layout_gravity="center"
android:paddingStart="16dp"
android:layout_marginLeft="8dp"
android:visibility="gone"
tools:visibility="visible"/>

<TextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|start|left"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:textColor="@color/black_dropdown"
android:textSize="18sp"
android:ellipsize="end"
android:maxLines="1"
tools:text="test"
/>
</LinearLayout>

下面是显示我如何调用微调器适配器的代码:

SpinnerAdapter adapter = new SpinnerAdapter(mHelperActivity.getSupportActionBar().getThemedContext(), item_list);
mSpinner.setAdapter(adapter);
mSpinner.setDropDownWidth((Utilities.getScreenWidth(getContext()) * 3) / 4);
mSpinner.setSelection(Caches.getSelectedCategoryPosition());

我已经尝试设置自定义主题、自定义弹出主题但没有任何收获。

P.S.:这只发生在 Android 7 中,它在 Android 6 或更低版本中工作得很好。

最佳答案

尝试从微调器中删除样式

style="@style/ToolbarSpinner"

<Spinner
android:id="@+id/toolbar_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

我遇到了同样的问题,在我的例子中它使用了主题(popupTheme 和 theme)

   <Spinner android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="bottom"
local:popupTheme="@style/ThemeOverlay.AppCompat.Light"
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
>

关于android - 在 Android 7.0 中触摸时微调器滚动到默认选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43903365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com