我想要一个如下图所示的EditText: -
请建议怎么做?提前致谢!
更新: -
我使用了Nikita Kurtin的建议。看起来很奇怪。我必须调整背景。我想这个背景需要根据设备的变体进行调整。看看图片现在有什么问题: -
答案 0 :(得分:1)
我强烈建议您在布局的每一行使用此lib,而不使用帮助文本,浮动标签文本和错误文本。 检查lib: https://github.com/rengwuxian/MaterialEditText
答案 1 :(得分:1)
您可以为线条背景创建一个xml,并将tileMode的属性设置为重复。然后将其用作编辑文本的背景。
xml的示例: asume它被称为'blue_lines.xml'
<?xml version="1.0" encoding="utf-8"?>
<bitmap
android:src="@drawable/blue_line_bg"
xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat"/>
使用它的editText示例:
<EditText
android:id="@+id/input1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/blue_lines"
/>
Update2 :动态计算字体,调整不同的屏幕
首先:获取blue_line_bg的高度
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.drawable.blue_line_bg, options);
int imageHeight = options.outHeight;
int padding=10;//inner line padding
int fontSize=imageHeight-padding;//calculated font size
第二步:将计算出的字体大小添加到相关的editText
((EditText)findViewById(R.id.input1)).setTextSize(fontSize);//set calculated font size to the edit text
答案 2 :(得分:0)
你必须通过java代码创建你的编辑文本,我之前没有这样做,但https://stackoverflow.com/a/10770670/1384010是一个做同样事情的例子。你需要在代码中做一些改变满足您的实际要求。
希望这会帮助你交配。