参考:
https://stackoverflow.com/questions/6107500/how-to-wrap-lengthy-text-in-a-spinner
https://www.cnblogs.com/sciseeker/archive/2013/03/14/2958699.html
第一步,在res/layout下创建如下文件multiline_spinner_dropdown_item.xml。
<?xml version="1.0" encoding="utf-8"?> <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerDropDownItemStyle" android:singleLine="false" android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:ellipsize="marquee" />
第二步,
<Spinner android:id="@+id/models_select" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_marginBottom="40dp" android:layout_marginEnd="8dp" android:entries="@array/models_all" />去掉在布局初始化数据的entries,改为
<Spinner android:id="@+id/models_select" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_marginBottom="40dp" android:layout_marginEnd="8dp" />
第三步,使用第一步创建的文件multiline_spinner_dropdown_item.xml初始化adapter,和spinner关联。
mModelSelect = (Spinner) findViewById(R.id.models_select); mModelSelect.setAdapter(ArrayAdapter.createFromResource(this, R.array.models_all, R.layout.multiline_spinner_dropdown_item));