| 
 | 
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Доброго времени суток всем! Начал новое приложение, нагородил лайаут-файл для главного активити, внутри есть виджет ImageView. Хотел в методе OnCreate активити определить его размеры для дальнейшего рисования с масштабированием, но не тут-то было - на этом этапе все размеры 0. Обработку какого события надо прикрутить, чтобы это решить? С уважением, Валера. P.S.: При создании другого приложения, я в качестве основного содержимого главного активити устанавливал не лайаут-разметку, а класс, наследованный от View, вот там я мог заюзать событие onSizeChanged, а как сделать тут не могу придумать и в инете решения не нашел. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.09.2018, 11:49 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Sp999Хотел в методе OnCreate активити определить его размеры для дальнейшего рисования с масштабированием Размер задаётся в LayoutParams. Под него же всё и масштабируется. А вообще - мало того, что у гуглов получилась ужасная система, но и документирована она просто безобразно. Поэтому вам придётся ещё много чего копать и узнавать, просто для того, что бы полноценно контролировать поведение контролов на экране. Изучите пока LayoutParams, потом жизнь сама вам подскажет, что ещё изучать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.09.2018, 16:10 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Sp999Доброго времени суток всем! Начал новое приложение, нагородил лайаут-файл для главного активити, внутри есть виджет ImageView. Хотел в методе OnCreate активити определить его размеры для дальнейшего рисования с масштабированием, но не тут-то было - на этом этапе все размеры 0. Обработку какого события надо прикрутить, чтобы это решить? С уважением, Валера. P.S.: При создании другого приложения, я в качестве основного содержимого главного активити устанавливал не лайаут-разметку, а класс, наследованный от View, вот там я мог заюзать событие onSizeChanged, а как сделать тут не могу придумать и в инете решения не нашел. Размеры можешь определить так в oncreate Код: java 1. 2. 3. 4. 5. 6. 7. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.09.2018, 20:59 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  A Serious Man, спасибо огромное! А не мог бы ты еще объяснить, как оно работает? Вроде, получается, что во время onCreate компонент уже есть, но размеров не имеет. С помощью post ставим Runnable в очередь сообщений. Интересует, в какой именно момент оно достается из очереди и выполняется (на тот момент у компонента уже определены конкретные размеры). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.09.2018, 09:17 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Sp999A Serious Man, спасибо огромное! А не мог бы ты еще объяснить, как оно работает? Вроде, получается, что во время onCreate компонент уже есть, но размеров не имеет. С помощью post ставим Runnable в очередь сообщений. Интересует, в какой именно момент оно достается из очереди и выполняется (на тот момент у компонента уже определены конкретные размеры). Когда oncreate завершится, будут сформированы вью, по окончанию запустится этот тред. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.09.2018, 10:45 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  A Serious ManРазмеры можешь определить так в oncreate это какой-то жуткий костыль, здесь ты закладываешься на то, что потоковый код выполнится позже полной инициализации и отрисовки view, что мягко говоря спекуляций - однажды это может не сработать если уж нам кровь-из-носу нужен размер View, в чем я сильно не уверен, то это можно сделать с помощью GlobalLayoutListener Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.09.2018, 12:19 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  chpasha, А откуда этот код запускать? и каков принцип его работы? С уважением, Валера. P.S.: Кстати, всех с профессиональным праздником! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 13.09.2018, 07:08 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Sp999А откуда этот код запускать? ну ты же хотел в onCreate, там и запускай. хотя пока ты не объяснишь внятно зачем тебе нужно знать размеры, есть ненулевая вероятность того, что ты не в том месте копаешь. Sp999и каков принцип его работы? если не вдаваться подробности, то принцип в том что это событие кидается тогда, когда View уже определился с размерами и расположился в содержащем его контейнере - в этот момент уже можно спрашивать его о размерах ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 13.09.2018, 12:23 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  chpashaA Serious ManРазмеры можешь определить так в oncreate это какой-то жуткий костыль, здесь ты закладываешься на то, что потоковый код выполнится позже полной инициализации и отрисовки view, что мягко говоря спекуляций - однажды это может не сработать если уж нам кровь-из-носу нужен размер View, в чем я сильно не уверен, то это можно сделать с помощью GlobalLayoutListener Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Мое работает, проверено и не один раз! У тебя какая-то перенахлобученность, такое не использовал. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 14.09.2018, 10:04 | 
  
  
  
   | 
||
| 
 
Как определить размеры 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  A Serious ManМое работает, проверено и не один раз верю, но я объяснил почему это чисто случайный эффект - ты просто ставишь Runnable в очередь сообщений и надеешься, что оно сработает позже чем инициализация View A Serious ManУ тебя какая-то перенахлобученность не знал, что у нас тут соревнования. единственный известный мне надежный способ именно таков, увы ему не победить на конкурсе лаконичности ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 14.09.2018, 10:45 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=13&msg=39702481&tid=1330851]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    69ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    48ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 15ms | 
| total: | 177ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...