android 微调器 return 背景为默认

android spinner return background to default

我的微调器有背景:

<android.support.v7.widget.AppCompatSpinner
            android:id="@+id/jobTypeSpinner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_spinner_dropdown_line" />

在API19级,它的外观很差, 但是如果我在 XML 中不设置任何背景,它的外观在 API 级别 19 中会很好 我想以编程方式删除背景但是当我设置以下代码时

 jobTypeSpinner.setBackgroundDrawable(null)
or
 jobTypeSpinner.setBackgroundColor(0)
or
 jobTypeSpinner.setBackgroundResource(0)

下拉图标将消失。
请帮助我设置带有下拉图标的默认后台。

这是我的解决方案:

从微调器中删除 android:background="@drawable/ic_spinner_dropdown_line"

<android.support.v7.widget.AppCompatSpinner
    android:id="@+id/jobTypeSpinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

在使用微调器的 activity/fragment 中,我假设它是 MainActivity。

class MainActivity : AppCompatActivity() {

    private lateinit var defaultSpinnerBackground: Drawable

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // Save the default spinner background
        defaultSpinnerBackground = jobTypeSpinner.background

        // Set your custom background
        jobTypeSpinner.setBackgroundResource(R.drawable.ic_spinner_dropdown_line)
    }
}

每当您想重置为默认微调器背景时。

jobTypeSpinner.background = defaultSpinnerBackground