如何在android中自定义Spinner Background?

时间:2017-08-21 09:18:45

标签: android android-spinner

我想在android中更改微调器的外观,我希望它对所有设备都一样。我试图做同样的事情,但未能这样做。如果我使用Tag,我无法自定义它。我正在添加我想要的图像截图。

http://prntscr.com/gb3oh9

4 个答案:

答案 0 :(得分:6)

尝试这样的事情:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

  <item>
    <layer-list>
       <item>
            <shape android:shape="rectangle">
                <solid android:color="@color/white" />
                <stroke android:width="2px" android:color="@color/darkgray_7" />
                <corners android:radius="5dp" />
            </shape>
       </item>

       <item>
            <bitmap
                android:gravity="right" android:src="@drawable/arrow" />
       </item>
    </layer-list>
  </item>

</selector>

答案 1 :(得分:0)

请尝试以下自定义Spinner

的代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item><layer-list>
        <item><shape>
            <gradient android:angle="90" android:startColor="@color/white" android:endColor="@color/appblue" />

            <stroke android:width="1dp" android:color="@color/block"  />

            <corners android:radius="4dp" />

            <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
        </shape></item>
        <item ><bitmap android:gravity="right|center" android:src="@drawable/drop_arrow"  android:tint="@color/red" />
        </item>
    </layer-list></item>

</selector>

答案 2 :(得分:0)

你可以像这样改变背景颜色和下拉图标

Step1 :在drawable文件夹中为后台编写spinner边框。

com.apple.developer.networking.HotspotHelper

第2步:适用于布局设计

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent" />
<corners android:radius="5dp" />
<stroke
android:width="1dp"
android:color="@color/darkGray" />
</shape>  //edited

Step ex :对于微调器的<RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="3dp" android:layout_weight=".28" android:background="@drawable/spinner_border" android:orientation="horizontal"> <Spinner android:id="@+id/spinner2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_gravity="center" android:background="@android:color/transparent" android:gravity="center" android:layout_marginLeft="5dp" android:spinnerMode="dropdown" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_gravity="center" android:src="@mipmap/drop" /> </RelativeLayout> 箭头(样式),您可以尝试使用以下样式将以下样式应用于您的微调器:

dropdown

// Spinner样式:

style="@style/SpinnerTheme"

// backgorundg_spinner.xml用箭头替换arrow_down_gray

<style name="SpinnerTheme" parent="android:Widget.Spinner">
<item name="android:background">@drawable/backgroundg_spinner</item>
</style>


最后找到您的特定 ColorCode 并附加它。Here 希望它有所帮助...

答案 3 :(得分:0)

这是我的操作方式(RTL微调器):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item android:drawable="@drawable/ic_down_white" android:gravity="left|center" />
            <item>
                <shape>
                    <corners android:radius="4dp" />
                    <solid android:color="#19FFFFFF" />
                </shape>
            </item>
        </layer-list>
    </item>
</select