Quiero usar getWidth()/getHeight() para obtener el ancho/alto de mi XML-Layout. He leído que tengo que hacerlo en el método onSizeChanged() de lo contrario obtendré 0 (Android: Get the screen resolution/pixels as integer values).Android: Necesito usar onSizeChanged para View.getWidth/Height() en la clase que extiende Activity
Pero quiero hacerlo en una clase que ya se extiende Actividad. Así que creo que no es posible dejar que la misma clase extienda View.
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
}
}
Si uso MiClase extiende Actividad puedo usar onCreate pero no onSizeChanged.
Si uso MyClass extends View, puedo usar onSizeChangedbut onCreate.
¿Cómo puedo resolver el problema?
Lo siento, pero realmente no entiendo qué hacer. No puedo llamar a mi vista personalizada cuando se produce onSizeChanged en la Actividad porque mi clase de actividad amplía la Actividad y no la Vista. Pero tengo que ampliar la vista para usar el método onSizeChanged. Sería genial si pudiera dar un pequeño ejemplo de código. – KWT