Вы запрашиваете размеры ImageView?Если так, то вы можете получить это, используя getLocalVisibleRect
.Вот как это делается примерно:
ImageView yourImageView;
public void onCreate(...){
setContentView(...)
yourImageView = (ImageView) findViewById(...);
(...)
}
getImageViewSize(){
Rect imageViewSize = new Rect();
yourImageView.getLocalVisibleRect(imageViewSize);
// imageViewSize now has all the values you need
Log.d("Your log tag", "ImageView width = " + (imageViewSize.right -
imageViewSize.left));
}
Однако здесь есть одна загвоздка.Вы должны убедиться, что не пытаетесь получить размер вида до тех пор, пока вид не будет разложен на экране.Другими словами, если вы попытаетесь получить его размер в onCreate, его размер будет равен 0. Вы должны получить его позже, например, одновременно с изменением размера изображения, предполагая, что это сделано с помощью кнопки.(Если вы используете SurfaceHolder
, вы также можете вызвать его во время обратного вызова surfaceCreated, но я сомневаюсь, что вы используете один из них ...)