Spinner选项换行

参考:

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));

猜你喜欢

转载自blog.csdn.net/wangpanbaoding/article/details/80262916