2012-05-10 2 views
0

Я хотел бы найти размер ImageView с начала моего приложения.ImageView размер запуска активности

Для моего приложения я хочу сделать то же самое, что и Карты Google, то есть отобразить изображение и поместить указатели на места на этом изображении. Указатели восстанавливаются через файлы XML, содержащие X% и Y% относительно изображения.

разместить указатели на мое изображение, я хотел бы сделать что-то вроде этого:

public void onCreate (Bundle savedInstanceState) { 
    super.onCreate (savedInstanceState); 

    // more code... 

    float maxX = imageViewCarte.getWidth(); 
    maxY imageViewCarte.getHeight float =(); 
} 

Проблема заключается в том, что эти значения null в начале приложения. Итак, я попытался сделать то же самое в onStart() и onResume(), но безрезультатно, всегда получаю 0! Однако, если я делаю то же самое в случае, например, onClick(), он вернет реальное значение правильно.

Есть ли способ получить этот размер при запуске приложения?

ответ

1

Вы должны добавить этот метод к вашей деятельности,

@Override 
public void onWindowFocusChanged(boolean hasFocus) 
{ 
    super.onWindowFocusChanged(hasFocus); 
    Log.i("Height",imageViewCarte.getWidth()+""); 
} 

В OnCreate вы осматриваете надувается, но еще не тянет. Поэтому этот метод здесь вызывается после процесса рисования и, следовательно, вы сможете достичь своей цели, переопределив этот метод.

+0

Спасибо вам большое! – user1386893

+0

Добро пожаловать. –

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