java - 如何创建自定义 EditText 布局?

标签 java android android-layout android-fragments textview

我想创建一个如下图所示的 EditText。

This is what I want to achieve

这是我的代码(在布局的 xml 文件中):

<EditText
            android:id="@+id/newThoughtThoughtText"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"
            android:background="@drawable/lines"
            android:gravity="top"
            android:hint="@string/thought_first_text"
            android:inputType="textMultiLine"
            android:maxLines="15"
            android:textColor="@color/color_gray"   />

我创建了一个自定义可绘制布局文件。但这只能让我在最后有一行,并且我需要在 EditText 中多行。 我怎样才能做到这一点?

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

    <item>
        <shape android:shape="rectangle">
            <stroke
            android:width="1dp"
            android:color="@color/color_gray" />
        </shape>
    </item>
</layer-list>

提前致谢!

最佳答案

要实现此目的,您必须对您创建的可绘制类进行更改。

<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="-2dp"
    android:insetRight="-2dp"
    android:insetTop="-2dp">

    <shape android:shape="rectangle" >
        <stroke
            android:width="1dp"
            android:color="#000000" />
        <solid android:color="@color/md_grey_200" />
    </shape>

</inset>

这将为您提供边框底部,您可以根据您的要求更改颜色。 如果您不想为每个 EditText 提供边框,您可以在每个 EditText 之后添加一个 View ,如下所示。

                    <View
                    style="@style/MenuDivider"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginEnd="5dp"
                    android:layout_marginStart="5dp"
                    android:layout_marginTop="15dp"
                    android:background="@color/black"/>

您可以根据您的需要更改 View 高度和背景。 希望这会对您有所帮助。

关于java - 如何创建自定义 EditText 布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56365348/

相关文章:

android - 在运行时绘制 HSV 圆

java - 我想删除数组中的所有重复项,然后将结果写入空数组

java - 为什么用Java下载文件速度这么慢

java - Java 加密标准从 DESede 更新为 AES

android - 为什么Android 4.0.1显示带有android :targetSdkVersion ="11"?的菜单按钮

android - 如何检查是否安装了Flash?

android - 如何做带级别选择的长滚动菜单?

java - CAS 客户端针对每个请求都会联系 CAS 服务器

android - 获取android中的帐户列表

android - 如何将对话框窗口包装到内容中?