2013-07-09 3 views
0

Итак, у меня есть 3 TextViews (верхний, разделительный, ботом), которые образуют сложную фракцию (например, 3/4, а 4 - под 3 с горизонтальной линией, разделяющей их).TextViews в контейнере

Проблема заключается в горизонтальной линии ... потому что все динамическое создание этих элементов выполняется в методе onCreate, я не могу использовать .getWidth() и .setWidth(), чтобы ограничить размер строки (это должен быть до тех пор, как самый длинный текст, выше или ниже).

Теперь мой вопрос: возможно ли создать контейнер с тремя TextViews, аккуратно уложенными друг над другом, который может быть легко добавлен к существующему макету, например, к коробке, которая будет содержать три вида и которая будет функционировать как его собственный макет, в котором я мог бы установить ширину линии, текст textview выравнивается по центру и т. д.?

+1

Yup, добавьте их в макет; скажем, в линейной компоновке. И этот линейный макет является контейнером из них и может использоваться для размещения всех их в какой-либо другой компоновке или для создания невидимых всех или для изменения местоположения и т. Д. –

ответ

0

Как было предложено @Inn_vita, вы можете добавить все три к линейной компоновке (в отличие от, скажем, относительной компоновки), а затем обработать макет отдельно. Тем не менее, будьте осторожны в том, что вложенные макеты внутри друг друга излишне могут создавать накладные расходы и замедлять ваше приложение.

Обратите внимание, что вы можете изменить размер вашего TextViews программно после setContentView(R.layout.activity_main).

Я думаю, что этот фрагмент кода может помочь то, что вы ищете:

setContentView(R.layout.activity_main); 

TextView numerator = (TextView) findViewById(R.id.firstBox); 
TextView fractionBar = (TextView) findViewById(R.id.secondBox); 
TextView denominator = (TextView) findViewById(R.id.thirdBox); 

fractionBar.setWidth(denominator.getWidth()); 

Вы можете сделать все это после того, как Ваш setContentView() в методе onCreate().

+0

Хотя я не могу найти GetWidth() в документация для TextView ... – cshadowstar

+0

Спасибо, получилось, что он укусил! –

+0

Рад быть в состоянии помочь! – cshadowstar

Смежные вопросы