是否可以调整Spinner
下拉列表的高度以填满整个屏幕。现在我有3个项目,我动态添加到微调器适配器,但这些只覆盖屏幕的一半。我现在拥有的是这样的:
我想要的是这样的:
我可以添加空白项目,但不能解决不同屏幕尺寸的问题
我试图在微调器上实现一个样式,但它没有工作
<style name="MyCustomSpinner" parent="Widget.AppCompat.Spinner.DropDown">
<item name="android:dropDownHeight">match_parent</item>
</style>
更新
我在操作栏和微调器之间有一个视图,所以我不能将layout_weight=1
用于我的微调器
答案 0 :(得分:1)
尝试在适配器上使用它。
|
答案 1 :(得分:1)
实现这一目标的唯一方法是编写自己的视图,就像一个微调器一样。
答案 2 :(得分:-1)
在yourspinner.xml中,
将android:minHeight="48dp"
添加到TextView元素。见下面的例子 -
<TextView
android:id="@+id/textViewRowFacility"
android:minHeight="50dp" />
答案 3 :(得分:-1)
尝试将您的Spinner放入LinearLayout&amp;将微调器重量设置为1,如
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
答案 4 :(得分:-1)
设置微调器的重量以占据整个空间。如果布局中没有其他视图,则使用以下代码:
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
要了解有关Android体重的更多信息,请参阅this:
答案 5 :(得分:-1)
尝试使用以下代码
ArrayAdapter<String> yourSpinnerAdapter = new ArrayAdapter<String>(this,
R.layout.spinner_item, yourItem) {
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
convertView = super.getDropDownView(position, convertView,
parent);
convertView.setVisibility(View.VISIBLE);
ViewGroup.LayoutParams p = convertView.getLayoutParams();
p.height = 100; // assign the required height here
convertView.setLayoutParams(p);
return convertView;
}
};