Edittext as spinner

时间:2017-11-17 04:40:55

标签: android android-edittext android-spinner layer-list

我有editext我希望将其显示为下拉列表。为此,我有background.xml个文件:

<?xml version="1.0" encoding="utf-8" ?>

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

  <item>
    <layer-list>
      <item>
        <shape>
          <solid android:color="#ffffff" />
          <stroke android:width="1dp" android:color="#000000" />
          <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
        </shape>
      </item>
      <item>
        <bitmap android:gravity="right" android:src="@drawable/ic_arrow_drop_down" />
      </item>
    </layer-list>
  </item>

</selector>

并将其添加为我的edittext的背景。这就是我得到的: enter image description here

正如您所看到的,图像和editext边框之间存在细微差距。我想让我的编辑文字像这样: enter image description here

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

使用EditText和ImageView UI Components创建RelativeLayout :)。 不要让自己复杂化。

答案 1 :(得分:1)

试试这个

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bg"
        android:orientation="horizontal">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@android:color/transparent" />


        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerInParent="true"
            android:background="@drawable/bgnew"
            android:src="@drawable/ic_android_black_24dp" />
    </LinearLayout>

</LinearLayout>

像这样

创建 bg.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Background Color -->
    <solid android:color="#ffffff" />

    <!-- Border Color -->
    <stroke android:width="1dp" android:color="#ff9900" />


</shape>

创建 bgnew.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Background Color -->
    <solid android:color="#ffffff" />

    <!-- Border Color -->
    <stroke android:width="1dp" android:color="@color/colorAccent" />


</shape>

<强>输出

![image

答案 2 :(得分:0)

尝试使用EditText和ImageView水平布局方向的线性布局。这很简单。