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

Графический интерфейс пользователя

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

Сообщение scorp2007 09 июл 2017, 04:03

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

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

Сообщение eonyanov 13 июл 2017, 11:07

Думаю, тут надо поиграться с CanvasScaler, который должен висеть на основном Канвасе. Если нету, добавьте. А размер шрифта не трогать.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

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

Сообщение eonyanov 13 июл 2017, 11:11

Хотя я щас еще глянул на ваши скриншоты и подумал, что может вам и не нужен ContentSizeFitter? Уберите его, а BestFit включите.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

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

Сообщение scorp2007 13 июл 2017, 15:47

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

вероятно вы не поняли что мне нужно, мне нужно чтобы я заполнял текст и вслед за этим менялась панель, на которой этот текст находится, так, чтобы длина панели соответствовала длине текста, а то что вы советуете никак этому не поспособствует. При этом сам текст должен тоже подгоняться под разрешение экрана и панель соответственно. (BestFit стоит если что, но в моем примере он не работает).
scorp2007
UNIт
 
Сообщения: 120
Зарегистрирован: 17 авг 2014, 13:59

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

Сообщение eonyanov 13 июл 2017, 19:09

Нет, это я понял.
Я не понял, что за проблема с размером шрифта при изменении разрешения?
Если у вас на канвасе будет стоять CanvasScaler и ползунок Match будет стоять на Height, то высота шрифта будет на любом разрешении одинаковой.
А то, что у вас сама картинка тянется зачем то по высоте, это не понятно. Получается, что у неё пропорции меняются. Чтоб у неё пропорции не менялись с изменением разрешения экрана, опять же CanvasScaler в помощь, либо выставьте другие AnchorsPresets, чтоб высота картинки не менялась.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

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

Сообщение scorp2007 15 июл 2017, 11:45

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

Ну так попробуйте смоделируйте данную ситуацию, зачем давать советы в теории, в теории все всегда просто и понятно, подводные камни начинают вылазить когда делаешь реализацию. Я и так все прекрасно знаю про свойства канвас скаллера и прочее, если бы это было так просто я бы не создавал тему. А картинка у меня тянется как раз таки правильно, все ее непропорциональности получаются из-за того что шрифт не увеличился должным образом и соответственно длина текста, а оно у меня по длине текста растягивается.
scorp2007
UNIт
 
Сообщения: 120
Зарегистрирован: 17 авг 2014, 13:59

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

Сообщение samana 15 июл 2017, 13:00

Я могу ошибаться, но кажется вам нужно и на текст повесить SizeFitter, чтобы rect текстового поля подстраивался под текст внутри себя.

Но лучше бы вы выложили пакет с этой ситуацией, чтобы чётко понимать как у вас устроено, потому что нет уверенности в точном повторении вашей проблемы у себя. Можно просто пакет с кнопкой и текстом. Либо опишите как у вас всё устроено, особенно компонентов и якорей, пивотов и тп.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3