Android Spinner:如何匹配父项并将下拉列表附加到底部
Android Spinner: how to match parent and append the dropdown to the bottom
我很难解决这个问题。
正如您在这些图像中看到的那样,我想让下拉列表与其父项(即矩形按钮)匹配,并且如果可能的话,将下拉列表本身附加到微调器的底部。
这是我的 XML。
微调器:
[...]
<Spinner
android:id="@+id/fuel_types"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/padding_8dp"
android:paddingLeft="@dimen/padding_5dp"
android:layout_gravity="start"
android:gravity="center"
android:spinnerMode="dropdown"/>
[...]
其TextView:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/single_item"
style="@style/AppTheme.Dark.AddPrice"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_20sp"
android:textStyle="bold"
android:ellipsize="marquee"/>
CheckedTextView:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/AppTheme.Dark.AddPrice"
android:layout_width="match_parent"
android:layout_height="@dimen/add_price_checked_height"
android:ellipsize="marquee"
android:paddingBottom="@dimen/padding_5dp"
android:paddingLeft="@dimen/padding_10dp"
android:paddingRight="@dimen/padding_10dp"
android:paddingTop="@dimen/padding_5dp"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/text_size_15sp"
android:textStyle="bold"
android:background="@color/colorPrimaryLight"
android:gravity="center"
android:textAlignment="gravity"/>
现在我的 Spinner 的当前外观:
这就是我想要获得的(也许下拉菜单也有圆角):
有什么提示吗?我错过了什么吗?
除了 kris larson 的评论外,我还建议在 17 岁以上的 API 上使用此属性:
android:dropDownVerticalOffset="@dimen/dropdown_vertical_offset"
只需创建两个不同的布局 XML。
我很难解决这个问题。
正如您在这些图像中看到的那样,我想让下拉列表与其父项(即矩形按钮)匹配,并且如果可能的话,将下拉列表本身附加到微调器的底部。
这是我的 XML。
微调器:
[...]
<Spinner
android:id="@+id/fuel_types"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/padding_8dp"
android:paddingLeft="@dimen/padding_5dp"
android:layout_gravity="start"
android:gravity="center"
android:spinnerMode="dropdown"/>
[...]
其TextView:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/single_item"
style="@style/AppTheme.Dark.AddPrice"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_20sp"
android:textStyle="bold"
android:ellipsize="marquee"/>
CheckedTextView:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/AppTheme.Dark.AddPrice"
android:layout_width="match_parent"
android:layout_height="@dimen/add_price_checked_height"
android:ellipsize="marquee"
android:paddingBottom="@dimen/padding_5dp"
android:paddingLeft="@dimen/padding_10dp"
android:paddingRight="@dimen/padding_10dp"
android:paddingTop="@dimen/padding_5dp"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/text_size_15sp"
android:textStyle="bold"
android:background="@color/colorPrimaryLight"
android:gravity="center"
android:textAlignment="gravity"/>
现在我的 Spinner 的当前外观:
这就是我想要获得的(也许下拉菜单也有圆角):
有什么提示吗?我错过了什么吗?
除了 kris larson 的评论外,我还建议在 17 岁以上的 API 上使用此属性:
android:dropDownVerticalOffset="@dimen/dropdown_vertical_offset"
只需创建两个不同的布局 XML。