Bonsoir à toutes et à tous,

Dans une application, je souhaite récupérer la largeur d'un LinearLayout. Je procède comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public class MainActivity extends Activity implements SensorEventListener{
 
	LinearLayout affCarte;
	int AffX, AffY; // dimension en pixels de la fenêtre d'affichage de la carte
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		affCarte = (LinearLayout)findViewById(R.id.AffCarte);
		AffX = affCarte.getWidth();
        }
AffX me retourne systématiquement 0.

Si je place l'instruction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
		AffX = affCarte.getWidth();
dans un appel d'évènement, par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
	@Override
	public final void onSensorChanged(SensorEvent event) {
		AffX = affCarte.getWidth();
	}
cette fois, AffX me retourne bien la largeur du Layout.

J'ai essayé de placer cette instruction dans un onStart, dans un onResume : ça retourne toujours 0.

Apparemment, tant qu'on est est dans la phase d'initialisation, on n'arrive pas à récupérer cette valeur. Comment faire car j'ai besoin de connaître cette valeur pour d'autres initialisations (cadrage d'image).

Merci de votre aide.

Pierre