我想创建一个如下图所示的 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/