Я хочу сделать спиннер с подсказкой, следуя одному из решений, я делаю первый элемент высоты выпадающего списка до 0, но он игнорируется, а первый элемент все еще виден и имеет высоту> 0.
Код:
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item) {
@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View v = super.getDropDownView(position, convertView, parent);
ViewGroup.LayoutParams lp = v.getLayoutParams();
v.setVisibility(View.VISIBLE);
if (position == 0) {
lp.height = 0; //doesn't affect anything
} else {
lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
}
v.setLayoutParams(lp);
return v;
}
@Override
public boolean isEnabled(int position){
return position != 0;
}
};
spinnerAdapter.add(getHint());
spinnerAdapter.addAll(getItems());
spinnerView.setAdapter(spinnerAdapter);
Когда я пытаюсь установить height = 1
, это работает, и элемент почти исчезает, но это не совсем так, как он должен работать.
Есть ли причина, почему это могло произойти? Есть ли способы установить высоту точно на ноль?