如何在Android中的Spinner视图中添加左侧drawable

N S*_*rma 7 android android-layout android-spinner

您好我正在尝试添加左侧drawable Spinner但我没有找到任何合适的,因为您在EditText使用时也这样做android:drawableLeft="@drawable/password_drawable".Spinner在Android中有没有正确的方法来实现相同的功能.

在我的情况下,应该只留下drawable只有我在截图中给出的状态,当用户点击Spinner时我不想在开放下拉列表中留下可绘制的 Spinner

我正在尝试这样没有这种属性的地方

<Spinner
    android:id="@+id/selectSpinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sign_up_views_vertical_top_margin"
    android:background="@drawable/edittext_border"
     />
Run Code Online (Sandbox Code Playgroud)

我想要下面的截图

在此输入图像描述

目前看起来如下

在此输入图像描述

当我设置背景时,Spinner它看起来像

<Spinner
    android:id="@+id/selectSpinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sign_up_views_vertical_top_margin"
    android:background="@drawable/selectone_drawable"
    android:entries="@array/select_type" />
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

提前致谢

小智 14

创建一个xml drawable @ drawable/gradient_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:endColor="@color/myTextPrimaryColor" android:startColor="@color/myTextPrimaryColor" android:type="linear" />

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

            <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/expnd" />
        </item>
    </layer-list></item>

</selector> `
Run Code Online (Sandbox Code Playgroud)

设置微调器背景android:background ="@ drawable/gradient_spinner"


Mar*_*ema 5

创建一个9补丁图像并将其设置为Spinner的背景,然后添加左边填充,应该做的伎俩.

  • 创建九个补丁图像并将其设置为背景.然后它应该工作. (2认同)

小智 5

布局看起来像这样

虚拟文件.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list android:opacity="transparent">
            <item android:width="100dp" android:end="300dp" android:gravity="left">
                <shape>
                    <solid android:color="#269cf7">

                    </solid>
                </shape>
            </item>
            <item android:width="300dp" android:gravity="right" android:start="100dp">
                <shape>
                    <solid android:color="@color/transparent">

                    </solid>
                </shape>
            </item>
            <item android:width="100dp" android:end="300dp">
                <bitmap android:gravity="center" android:src="@drawable/arrow_bottom" />
            </item>
        </layer-list>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

在布局文件中添加以下代码:

<android.support.v7.widget.CardView
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    app:cardElevation="5dp"
    app:cardUseCompatPadding="true">

    <Spinner
        android:background="@drawable/dummy"
        android:layout_height="100dp"
        android:layout_width="match_parent"/>
    
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)