旋转器下拉从旋转器顶部开始

问题描述 投票:8回答:3

问题是Spinner下拉列表从Spinner的顶线开始,但它应该从Spinner的底线开始

正常状态

enter image description here

点击后

enter image description here

Spinner xml代码

<Spinner
    android:id="@+id/spnSelectLanguage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    android:layout_marginTop="16dp"
    android:spinnerMode="dropdown"
    android:background="@drawable/spn_lang_dropdown_selector"
    android:gravity="center_vertical"
    android:popupBackground="#EAEAEA"
    android:textColor="#54a4db" />

Spinner spnSelectLanguage = (Spinner)rootView.findViewById(R.id.spnSelectLanguage);
    ArrayAdapter<String> adapterLanguage= new ArrayAdapter<String> (context,R.layout.layout_lng_spinner_item,new String[]{"English","Arabic"});
    adapterLanguage.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spnSelectLanguage.setAdapter(adapterLanguage);

Style.xml

<style name="SpinnerStyle" parent="android:style/Widget.ListView.DropDown">
    <item name="android:divider">@color/grey</item>
    <item name="android:dividerHeight">1dp</item>
</style>
android spinner android-spinner
3个回答
11
投票

在你的微调器中:

android:overlapAnchor="false"

注意如果您支持的API低于21,则必须复制并粘贴此属性,因为它可用于API> = 21。


9
投票

您可以在Spinner xml代码中设置以下行:

android:spinnerMode="dropdown"
android:dropDownVerticalOffset="50dp"

有了这个,您的下拉视图将从顶部偏移开始。您可以对偏移数进行硬编码或在运行时计算它并使用:

setDropDownVerticalOffset(int pixels)

更多信息:Android Spinner


0
投票

对我来说,只有当我创建微调器样式并将“android:spinnerStyle”项添加到我的主题样式时。

我打开了我的/res/values/styles.xml,找到了我的主题(“AppTheme”)并添加了<item name="android:spinnerStyle">@style/custom_spinner</item>,如下所示:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>            
    <item name="android:spinnerStyle">@style/custom_spinner</item>
</style>

<style name="custom_spinner" parent="@android:style/Widget.Holo.Light.Spinner">
</style>
© www.soinside.com 2019 - 2024. All rights reserved.