Chcę użyć getWidth()/getHeight(), aby uzyskać szerokość/wysokość mojego układu XML. Przeczytałem, że muszę to zrobić w metodzie onSizeChanged() inaczej otrzymam 0 (Android: Get the screen resolution/pixels as integer values).Android: Potrzebuję użyć onSizeChanged dla View.getWidth/Height() w klasie rozszerzającej działanie
Ale chcę to zrobić w klasie już rozszerzającej działanie. Więc myślę, że nie jest możliwe, aby ta sama klasa rozszerzyła widok.
public class MyClass extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewGroup xml_layout = (ViewGroup) findViewById(R.id.layout_id);
TextView tv = new TextView(this);
tv = (TextView) findViewById(R.id.text_view);
int layout_height = xml_layout.getHeight();
int layout_width = xml_layout.getWidth();
}
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
//Error, because I need to use extends View for class, but I can't do it because I also need extends Activity to use onCreate
}
}
Jeśli używam MojaKlasa rozciąga Aktywny mogę używać onCreate ale nie onSizeChanged.
Jeśli używam MyClass rozszerza Widok Mogę użyć onSizeChangedbut nie naCreate.
Jak mogę rozwiązać problem?
Przepraszam, ale nie rozumiem, co naprawdę należy zrobić. Nie mogę wywołać mojego widoku niestandardowego, gdy parametr onSizeChanged ma miejsce w działaniu, ponieważ moja klasa aktywności rozszerza działanie, a nie widok. Ale muszę rozszerzyć widok, aby użyć metody onSizeChanged. Byłoby wspaniale, gdybyś dał przykład małego kodu. – KWT