如何在Android中将edittext与微调器合并?

Posted

技术标签:

【中文标题】如何在Android中将edittext与微调器合并?【英文标题】:How to merge an edittext with spinner in Android? 【发布时间】:2022-01-14 00:43:54 【问题描述】:

如何在 android 中制作带有下拉菜单的 EditText? 作为参考,我添加了一张图片。我正在尝试将编辑文本与微调器相结合,但我无法实现。

任何人都可以添加建议或 xml 模型吗?

【问题讨论】:

添加您的 xml 文件 【参考方案1】:

好吧,您可以使用具有水平方向的LinearLayout 并为圆形边框创建自定义可绘制对象。

实施

首先,您需要通过创建一个新的Drawable resource 文件来绘制圆角边框。

在您的res/drawables 文件夹中创建rounded_border.xml

rounded_border.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="4dp" />
            <stroke android: android:color="#2E2E2E" />
        </shape>
    </item>
</selector>

然后,您可以将LinearLayout 添加到您的布局中,如下所示。

your_layout.xml

<LinearLayout
    android:layout_
    android:layout_
    android:background="@drawable/rounded_border"
    android:orientation="horizontal">

    <EditText
        android:layout_
        android:layout_
        android:background="@null"
        android:paddingHorizontal="16dp"
        android:text="(504) 596-3245"
        android:layout_weight="2"/>

    <View
        android:layout_
        android:background="#2E2E2E"
        android:layout_/>

    <Spinner
        android:layout_
        android:layout_
        tools:listitem="@layout/spinner_item_text"
        android:layout_weight="1"/>

</LinearLayout>

备注

您可以通过rounded_border.xml 自定义边框宽度、颜色和半径。

最终结果

【讨论】:

嘿!谢谢你。我无法让微调器在编辑文本视图旁边对齐。也许你在哪里使用 layout_weight = "1" 完成了这项工作! 如何将微调器上的图标设置为不同的drawable? 为此你可以关注这个答案***.com/a/32167738/11784905【参考方案2】:

可以参考这个库演示:https://github.com/z2wenfa/SpinnerEditText

可以直接使用lib

dependencies 
        compile 'com.github.z2wenfa:SpinnerEditText:1.0.1'

或者可以参考:https://github.com/z2wenfa/SpinnerEditText/blob/master/spinneredittext-lib/src/main/java/com/z2wenfa/spinneredittext/SpinnerEditText.java

【讨论】:

感谢您的推荐!

以上是关于如何在Android中将edittext与微调器合并?的主要内容,如果未能解决你的问题,请参考以下文章

在Android Java中将EditText的提示移到顶部[重复]

表格布局中的微调器与 EditText 不对齐

如何更改各种微调器值的 EditText 字段

如何在EditText中将光标定位在右侧

如何在 doInBackgroung() 时制作 android AsyncTask 加载微调器

如何从我的EditText获取具有格式化日期的日期对象(通过微调器存储)