Таким образом, у меня есть немного путаницы с попыткой установить фоновый рисунок в виде, который отображается на экране. Код основывается на знании высоты представления, поэтому я не могу назвать его из onCreate()
или onResume()
, потому что getHeight()
возвращает 0. onResume()
кажется самым близким, которого я могу получить. Где я должен помещать код, такой как ниже, чтобы фон изменялся при отображении пользователю?
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);