我希望我的英语不是太糟糕。 我花了一整天时间寻找解决方案,现在我想和你分享一下:
for (int i=3;i<500;i++){
String finalVal ="0"; //I used a number but is the same for chart
Paint paint = new Paint();
paint.setTextSize(i);
paint.setTypeface(Typeface.SANS_SERIF); //if you use a particular font
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);
Rect result = new Rect();
paint.getTextBounds(finalVal, 0, finalVal.length(), result);
Resources r = getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, result.height(), r.getDisplayMetrics());
if (px>et_no_perc.getHeight()){
EditText.setTextSize(TypedValue.COMPLEX_UNIT_PX ,i-1);
break;
}
}
我希望它有用!
答案 0 :(得分:0)
自动调整TextView
和EditText
中的文字现已成为Android 8.0(API级别26)的标准配置。查看官方documentation。
答案 1 :(得分:-2)
<EditText
android:id="@+id/send_message_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:hint="@string/type_text_message"
android:inputType="textMultiLine"
android:maxLines="10"
android:minLines="1"
android:scrollbars="vertical"
android:gravity="top|left"
android:layout_weight="1"
/>