Spinner图形错误API 21

时间:2015-01-18 18:17:08

标签: android spinner visual-glitch

我在一个片段中有一个微调器,它有一个非常烦人的图形故障。 这仅在我的带有API 21的Nexus 5上发生。 enter image description here

我尝试设置spinner.setLayerType(View.LAYER_TYPE_SOFTWARE,null)但是仍然存在毛刺。 有什么想法吗?

1 个答案:

答案 0 :(得分:15)

我设法以两种不同的方式解决这个问题:

  1. 为您的微调器设置样式:

    <Spinner
        android:background="@drawable/background"
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@android:style/Widget.Holo.Light.Spinner"/>
    
  2. 预定义样式中的背景颜色可能足够了。如果没有尝试

    1. 使用圆角半径创建可绘制的形状:

      <?xml version="1.0" encoding="utf-8"?>
      <shape xmlns:android="http://schemas.android.com/apk/res/android"
          android:shape="rectangle">
          <corners android:radius="2dp" />
          <solid android:color="#00ff00" />
      </shape>
      
    2. 并将其设置为spinner的popupBackground

          <Spinner
              android:background="@drawable/spinner_background"
              android:id="@+id/date_spinner"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:clickable="false"
              android:popupBackground="@drawable/spinner_popup_background"/>
      

      希望这有用!