我有一个AlertDialog,其布局中有两个微调器,如果我没有为那些微调器设置适配器,我的布局正确膨胀。 (https://goo.gl/boniIK)
但是一旦我将适配器连接到那些旋转器上,我的正负按钮下面就会有一个巨大的空白区域。 (https://goo.gl/3aJOlN)
有没有人知道为什么会出现这个空白区?
提前致谢。
修改
这是我的sort_filter_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dialog_content_padding_top"
android:paddingBottom="@dimen/dialog_content_padding_bottom"
app:columnCount="4"
app:orientation="horizontal"
android:background="@color/schoolhub_blue">
<Space
android:layout_width="@dimen/dialog_content_space"
app:layout_gravity="fill_vertical"
app:layout_rowSpan="2"/>
<TextView
style="@style/TextView"
android:layout_width="@dimen/none"
android:layout_height="@dimen/dialog_content_row_height"
app:layout_columnWeight="1"
android:text="@string/sort"/>
<Spinner
style="@style/Spinner"
android:id="@+id/spinner_sort"
android:layout_width="@dimen/none"
android:layout_height="@dimen/dialog_content_row_height"
app:layout_columnWeight="1"/>
<Space
android:layout_width="@dimen/dialog_content_space"
app:layout_gravity="fill_vertical"
app:layout_rowSpan="2"/>
<TextView
style="@style/TextView"
android:layout_width="@dimen/none"
android:layout_height="@dimen/dialog_content_row_height"
app:layout_columnWeight="1"
android:text="@string/filter"/>
<Spinner
android:id="@+id/spinner_filter"
android:layout_width="@dimen/none"
android:layout_height="@dimen/dialog_content_row_height"
app:layout_columnWeight="1"/>
<include
layout="@layout/divider"
android:layout_width="match_parent"
android:layout_height="@dimen/divider_height"
android:layout_marginBottom="@dimen/divider_margin"
android:layout_marginTop="@dimen/divider_margin"
app:layout_columnSpan="4"/>
</android.support.v7.widget.GridLayout>
我在DialogFragment AlertDialog
方法中构建我的onCreateDialog
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
View view = View.inflate(getActivity(), R.layout.sort_filter_dialog, null);
// Set up for sort spinner.
ArrayAdapter<String> sortAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item, sortStringArray);
sortAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner sortSpinner = (Spinner) view.findViewById(R.id.spinner_sort);
sortSpinner.setAdapter(sortAdapter);
// Set up for filter spinner.
ArrayAdapter<String> filterAdapter = new ArrayAdapter<>(getActivity(), R.layout.spinner_dropdown_item_selected, filterStringArray);
filterAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
Spinner filterSpinner = (Spinner) view.findViewById(R.id.spinner_filter);
filterSpinner.setAdapter(filterAdapter);
AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity(), R.style.DialogStyle);
dialog.setTitle(getString(R.string.sort_filter_title));
dialog.setView(view);
return dialog.create();
}
答案 0 :(得分:0)
如果没有发布你的代码,很难猜到,但我怀疑问题是你如何夸大布局。在大多数情况下,当您使用适配器时,请按如下方式对其进行充气:
<击> view = inflater.inflate(R.layout.my_layout, parent, false);
击>