Вы должны создать свое собственное расширение TextView и подключиться к функции onMeasure, которая должна дать вам ширину и высоту (возможно, вы захотите дать textview layout_weight = 1)
Затем вы можете использовать рисование дляполучите размер, который займет текст, но я не проверял это, и вам, вероятно, нужно будет что-то сделать, чтобы учесть разбиение строк.Но это хорошее начало ...
Paint paint = new Paint();
Rect bounds = new Rect();
int text_height = 0;
int text_width = 0;
paint.setTypeface(Typeface.DEFAULT);
paint.setTextSize(12);// have this the same as your text size
String text = "Some random text";
paint.getTextBounds(text, 0, text.length(), bounds);
text_check_h = bounds.height(); // Will give you height textview will occupy
text_check_w = bounds.width(); // Will give you width textview will occupy