Bonjour,

J'ai un soucis avec une grosse appli, que j'ai résumé dans une plus petite ne faisant qu'illustrer ce cas.

J'ai une HorizontalScrollView, dans laquelle j'ajoute une LinearLayout, dans laquelle j'ajoute une textView.

Après l'ajout du tout, je fais un getMeasuredWidth sur la TextView, afin d'en connaître la largeur, mais cela me renvoie toujours 0.

Ci dessous le code du main.xml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <HorizontalScrollView android:id="@+id/testHorizontal"
	    android:layout_width="fill_parent"
	    android:layout_height="65px">
 
	</HorizontalScrollView>
 
</LinearLayout>
Et ci dessous, le code de mon activity :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
package com.android.developpez.herfrayg.sizeview;
 
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.ViewGroup.LayoutParams;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.TextView;
 
public class DeveloppeznetViewwidthActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        HorizontalScrollView horizontalScrollView = (HorizontalScrollView) findViewById(R.id.testHorizontal);
 
        LinearLayout container = new LinearLayout(this);
        container.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
 
        TextView test = new TextView(this);
        test.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        test.setText("Here is my test");
 
        container.addView(test);
        horizontalScrollView.addView(container);
 
        Log.e("Test", String.format("Largeur de la TextView : %d px", test.getMeasuredWidth()));
    }
}
Dans mon LogCat, le retour est :
Largeur de la TextView : 0 px
Avez-vous une origine du soucis ?

Merci.