问题截图如下: soinner的小三角和AlertDialog的buttion区域重合了


spinner和AlertDialog一起使用 spinner的小三角和AlertDialog的button区重叠

经过上网搜找的的解决方案 感谢http://stackoverflow.com/questions/29009445/android-spinner-dropdown-arrow-not-displaying

设置spinner的背景来达到目的

解决方案如下:

在drawable目录下新建xml 比如叫shape_normal.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <bitmap
            android:gravity="end"
            android:src="@drawable/spinner_icon" />
    </item>
</layer-list>
然后在spinner控件上设置该背景即可

<Spinner android:id="@+id/mmm"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="viewStart"
        android:background="@drawable/shape_normal"
        android:prompt="@string/llll"
        android:entries="@array/eeeee" />

spinner_icon图片如下

spinner和AlertDialog一起使用 spinner的小三角和AlertDialog的button区重叠



原来的shape_XX.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape>
            <solid android:color="@android:color/transparent" />

            <stroke
                android:width="1dp"
                android:color="#6f94c7" />

            <padding
                android:bottom="10dp"
                android:left="2dp"
                android:right="10dp"
                android:top="10dp" />
        </shape>
    </item>
    <item>
        <bitmap
            android:gravity="end"
            android:src="@drawable/spinner_icon" />
    </item>
</layer-list>

还有一个规避方案是设置最小宽度

父控件设置一个最小宽度

android:minWidth="300dp"
在spinner上设置一个最小高度

android:minHeight="40dp"















相关文章:

  • 2022-12-23
  • 2021-11-25
  • 2022-12-23
  • 2021-11-16
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-16
  • 2022-12-23
  • 2021-12-03
  • 2021-09-06
  • 2022-02-26
  • 2021-09-02
相关资源
相似解决方案