Bootstrap

自定义Spinner

class CustomSpinner @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = android.R.attr.spinnerStyle):
    Spinner(context, attrs, defStyleAttr) {
    init {
		var items = listOf<String>()
        if (attrs != null) {
            val a: TypedArray = context.obtainStyledAttributes(attrs, intArrayOf(android.R.attr.entries))
            val entriesResId = a.getResourceId(0, -1)
            if (entriesResId > 0) {
                items = context.resources.getStringArray(entriesResId).toList()
            }
            a.recycle()
        }
        adapter = CustomSpinnerAdapter<String>(context, android.R.layout.simple_spinner_item,dataList)
        setPopupBackgroundDrawable(resources.getDrawable(R.drawable.shape_for_custom_spinner,null))
        background = resources.getDrawable(R.drawable.selector_for_custom_spinner,null)
    }

}
 <com.view.CustomSpinner
                    style="@style/customSpinnerStyle"
                    android:entries="@array/test_array"
                    android:spinnerMode="dropdown" />
<style name="customSpinnerStyle" parent="android:Widget.ListView.DropDown">
    <item name="android:textAlignment">center</item>
    <item name="divider">@color/black</item>
    <item name="android:dividerHeight">1dp</item>
    <item name="android:layout_width">150dp</item>
    <item name="android:layout_height">50dp</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 填充颜色 -->
    <solid android:color="@color/white"/>
    <stroke android:width="1dp" android:color="#661886F7"/>
    <!-- 矩形的圆角半径 -->
    <corners android:radius="6dp" />
</shape>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <!-- 填充颜色 -->
            <solid android:color="#661886F7"/>
            <!-- 矩形的圆角半径 -->
            <corners android:radius="6dp" />
        </shape>
    </item>

    <item android:state_pressed="false">
        <shape android:shape="rectangle">
            <!-- 填充颜色 -->
            <solid android:color="@android:color/transparent"/>
            <stroke android:width="1dp" android:color="#661886F7"/>
            <!-- 矩形的圆角半径 -->
            <corners android:radius="6dp" />
        </shape>
    </item>
</selector>
;