【问题标题】:How do I create an input box using Android's Layout mechanism?如何使用 Android 的 Layout 机制创建输入框?
【发布时间】:2019-09-10 11:39:35
【问题描述】:

使用Android的Layout机制,如何创建一个带密码图标的输入框,并在图标和输入框之间进行分割,如下图?我也想在输入字段周围设置边框。

【问题讨论】:

    标签: android android-layout android-edittext


    【解决方案1】:

    您可以在这样的布局中使用 imageview 和编辑文本

    <RelativeLayout
            android:layout_width="@dimen/_280sdp"
            android:layout_height="@dimen/_30sdp"
            android:id="@+id/rl_password"
            android:layout_centerHorizontal="true">
            <ImageView
                android:layout_width="@dimen/_15sdp"
                android:layout_height="@dimen/_15sdp"
                android:src="@drawable/key"
                android:layout_centerVertical="true"
                android:id="@+id/iv_password"/>
            <EditText
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:hint="Password"
                android:layout_toRightOf="@+id/iv_password"
                android:layout_centerVertical="true"
                android:background="#00000000"
                android:layout_marginLeft="@dimen/_8sdp"/>
    </RelativeLayout>
    

    【讨论】:

    • 我想要一条线以及所有的边框。
    • 对于边框有几种方法,但我建议您制作自定义可绘制对象。你可以在谷歌搜索最适合你的方法,即这里是推荐方法的链接stackoverflow.com/questions/15111402/…
    • 并添加一行作为分隔符(不是在这张图片中),您可以在您的 XML 文件中使用 标签
    • 我知道这种方式,但还有其他更好的方法可以直接通过一些 xml 矢量文件吗?请正确查看图像,文本和图标之间有一条线。 @Rishbh Sehgal
    • 嘿,我建议你最好的方法,只需检查我共享的链接,是的,我正确地看到了图像,你只需要在你的 xml 设计中实现一些逻辑就可以了。
    【解决方案2】:

    试试这个....

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:background="@drawable/background"
            android:layout_margin="40dp">
    
            <ImageView
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:padding="10dp"
                android:src="@drawable/your_image" />
    
            <View
                android:id="@+id/view"
                android:layout_width="1dp"
                android:layout_height="match_parent"
    
                android:background="#dbdbdb" />
    
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Password"
                android:padding="10dp"
                android:inputType="textPassword"
                android:background="@android:color/transparent"/>
        </LinearLayout>
    

    @drawable/background.xml

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

    【讨论】:

      【解决方案3】:

      抱歉,您不会在此处找到教程。 如果您在实现代码时遇到任何问题,我们这里的人不会放教程,您可以询问。 现在,您可以观看此tutrial 可能会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-08
        • 2021-05-25
        • 1970-01-01
        相关资源
        最近更新 更多