Страница 1 из 1

Размер панели в зависимости от размера содержимого (текста)

СообщениеДобавлено: 09 июл 2017, 04:03
scorp2007
Всем привет, имеется следующая задача, сделать так, чтоб панель подгонялась размерами под содержимое, а конкретно текст, который может быть разной величины и изменяться динамически. Поискав по этому поводу информацию в интернете, я сделал таким образом: На панель повесил 2 компонента, Content Size Fitter и Horizontal Layout Group, ребенком же этой панели идет текст, выглядит это так и все меняется как положено, когда мы меняем текст то панель подгоняется под его размеры:
Изображение
Однако, все не так хорошо как на первый взгляд и если поменять разрешение то размер шрифта текста останется тот который и был, хотя галочка Best Fit стоит, но они никак не влияет в этом случае и шрифт всегда тот который указан изначально. Вопрос состоит в том, можно ли как-то реализовать то же самое, но чтоб это работало если менять разрешение и выглядело на любом разрешении одинаково (то есть пропорционально растягивалось)? :-?
вот как выглядит после изменения разрешения на более высокое:
Изображение

Re: Размер панели в зависимости от размера содержимого (текста)

СообщениеДобавлено: 13 июл 2017, 11:07
eonyanov
Думаю, тут надо поиграться с CanvasScaler, который должен висеть на основном Канвасе. Если нету, добавьте. А размер шрифта не трогать.

Re: Размер панели в зависимости от размера содержимого (текста)

СообщениеДобавлено: 13 июл 2017, 11:11
eonyanov
Хотя я щас еще глянул на ваши скриншоты и подумал, что может вам и не нужен ContentSizeFitter? Уберите его, а BestFit включите.

Re: Размер панели в зависимости от размера содержимого (текста)

СообщениеДобавлено: 13 июл 2017, 15:47
scorp2007
eonyanov писал(а):Хотя я щас еще глянул на ваши скриншоты и подумал, что может вам и не нужен ContentSizeFitter? Уберите его, а BestFit включите.

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

Re: Размер панели в зависимости от размера содержимого (текста)

СообщениеДобавлено: 13 июл 2017, 19:09
eonyanov
Нет, это я понял.
Я не понял, что за проблема с размером шрифта при изменении разрешения?
Если у вас на канвасе будет стоять CanvasScaler и ползунок Match будет стоять на Height, то высота шрифта будет на любом разрешении одинаковой.
А то, что у вас сама картинка тянется зачем то по высоте, это не понятно. Получается, что у неё пропорции меняются. Чтоб у неё пропорции не менялись с изменением разрешения экрана, опять же CanvasScaler в помощь, либо выставьте другие AnchorsPresets, чтоб высота картинки не менялась.

Re: Размер панели в зависимости от размера содержимого (текста)

СообщениеДобавлено: 15 июл 2017, 11:45
scorp2007
eonyanov писал(а):Нет, это я понял.
Я не понял, что за проблема с размером шрифта при изменении разрешения?
Если у вас на канвасе будет стоять CanvasScaler и ползунок Match будет стоять на Height, то высота шрифта будет на любом разрешении одинаковой.
А то, что у вас сама картинка тянется зачем то по высоте, это не понятно. Получается, что у неё пропорции меняются. Чтоб у неё пропорции не менялись с изменением разрешения экрана, опять же CanvasScaler в помощь, либо выставьте другие AnchorsPresets, чтоб высота картинки не менялась.

Ну так попробуйте смоделируйте данную ситуацию, зачем давать советы в теории, в теории все всегда просто и понятно, подводные камни начинают вылазить когда делаешь реализацию. Я и так все прекрасно знаю про свойства канвас скаллера и прочее, если бы это было так просто я бы не создавал тему. А картинка у меня тянется как раз таки правильно, все ее непропорциональности получаются из-за того что шрифт не увеличился должным образом и соответственно длина текста, а оно у меня по длине текста растягивается.

Re: Размер панели в зависимости от размера содержимого (текста)

СообщениеДобавлено: 15 июл 2017, 13:00
samana
Я могу ошибаться, но кажется вам нужно и на текст повесить SizeFitter, чтобы rect текстового поля подстраивался под текст внутри себя.

Но лучше бы вы выложили пакет с этой ситуацией, чтобы чётко понимать как у вас устроено, потому что нет уверенности в точном повторении вашей проблемы у себя. Можно просто пакет с кнопкой и текстом. Либо опишите как у вас всё устроено, особенно компонентов и якорей, пивотов и тп.