我有一个编辑文本,我在其中使用setText在编辑表单上加载数据。目前editText高度是固定的,如果文本大于editText高度,我不能一次看到全文。 有没有基于内容的方法我可以动态设置EditText的高度。
提前感谢您的帮助和建议
此致 [R
答案 0 :(得分:4)
您可以将此代码用于xml文件:
<EditText
android:id="@+id/edtFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/first_name"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="16sp" />
当您的编辑文字包含时,它会自动适合文字大小。
请勿使用 android:singleLine="true"
或android:minLines="1"
和android:maxLines="1"
答案 1 :(得分:2)
尝试设置编辑文本的高度,如下所示:
android:layout_height="wrap_content"
答案 2 :(得分:2)
设置 android:layout_height
wrap_content
是最好的方法。
视图应该足够大,以包含其内容。
使用DisplayMetrics
动态设置 EditText 的高度。
DisplayMetrics metrics = getResources().getDisplayMetrics();
int DeviceTotalWidth = metrics.widthPixels;
int DeviceTotalHeight = metrics.heightPixels;
如何?
if(length()>n) // n is your String length
editTEXT.getLayoutParams().height=DeviceTotalHeight*10/100;
答案 3 :(得分:1)
试试,这可能会有所帮助 - :
edittext.getLayoutParams().width=50
et= (CustomEditText) findViewById(R.id.et);
ViewGroup.LayoutParams lp = et.getLayoutParams();
lp.width = 100;
lp.height = 100;
et.setLayoutParams(lp);
答案 4 :(得分:1)
这可能会对你有帮助,
使用 android:layout_height ="wrap_content"
和 android:inputType="textMultiLine"
是最佳方法
<EditText
android:id ="@+id/editText"
android:layout_width ="match_parent"
android:layout_height ="wrap_content"
android:inputType="textMultiLine"
android:hint ="Hint"
android:scrollHorizontally="false" />
我建议您使用 ScrollView
作为 EditText
如果EditText
text
从屏幕上切断(屏幕外)