Quando posso medir uma exibição pela primeira vez?
Então, eu tenho um pouco de confusão ao tentar definir o plano de fundo de uma exibição como ela é exibida. O código depende de saber a altura da exibição, então não posso chamá-lo deonCreate()
ouonResume()
, PorquegetHeight()
retorna 0.onResume()
parece ser o mais próximo que posso chegar. Onde devo colocar código como o abaixo para que o plano de fundo seja alterado após a exibição para o usuário?
TextView tv = (TextView)findViewById(R.id.image_test);
LayerDrawable ld = (LayerDrawable)tv.getBackground();
int height = tv.getHeight(); //when to call this so as not to get 0?
int topInset = height / 2;
ld.setLayerInset(1, 0, topInset, 0, 0);
tv.setBackgroundDrawable(ld);