Как узнать размер view в android?

Пользователь

от jensen , в категории: Другие , 6 месяцев назад

Как узнать размер view в android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от lilla.herman , 6 месяцев назад

@jensen 

Для того чтобы узнать размер view в Android, вы можете использовать методы getWidth() и getHeight().


Например, если у вас есть View с идентификатором myView, вы можете получить его ширину и высоту следующим образом:

1
2
3
View myView = findViewById(R.id.myView);
int width = myView.getWidth();
int height = myView.getHeight();


Однако, следует учесть, что значения getWidth() и getHeight() будут доступны только после того, как view будет измерено и нарисовано на экране. Если вы пытаетесь получить размер в методе onCreate() активности или фрагмента, вероятно, размеры будут равны нулю.


Чтобы узнать размер view после его измерения и отображения на экране, вы можете использовать ViewTreeObserver. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
View myView = findViewById(R.id.myView);
myView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        // Получение размеров после измерения view
        int width = myView.getWidth();
        int height = myView.getHeight();
        
        // Удаление слушателя
        myView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
    }
});


Наблюдатель OnGlobalLayoutListener будет вызываться после того, как view будет измерено и отображено на экране, и тогда вы сможете получить его размеры.