I\'m using android spinner and edittext from support lib v21. I would like to align text to left the same like edittext as shown in figure. But, deafult spinner include spac
The layout for TextView
that is displayed in your Spinner
comes from your SpinnerAdapter
, which provides 2 methods:
getView(position, convertView, parent)
: returns View for collapsed state, you can override this to return different layouts for different selected itemgetDropdownView(position, convertView, parent)
: return View for each dropdown item in expanded state (after you click Spinner to open popup/dialog for selection)In your case you should override your SpinnerAdapter.getView(position, convertView, parent)
and inflate the layout with padding/spacing of your choice.
For example:
spinner.setAdapter(new MyAdapter());
MyAdapter.java
class MyAdapter implements SpinnerAdapter {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.spinner_item, parent, false);
}
// bind your data here
return convertView;
}
// other implementation
}
res/layout/spinner_item.xml
You can also conveniently use one of the framework provided SpinnerAdapter indirect subclasses (ArrayAdapter
), just make sure to supply the correct layout that would be used by getView()
method.