Bonjour à toutes et à tous,
Décidément, j'aurai toujours des problèmes avec les affichages.
Dans une application, si je dessine dans la fenêtre de base, tout se passe bien. Maintenant, je veux faire les mêmes dessin mais dans un scrollView. Bien que l'écran réponde aux sollicitations des touchés, aucun dessin n'apparaît. Voici le code utilisé :
A noter que ce même code mais en supprimant le scrollView, fonctionne très bien.
et la partie .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
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 private ScrollView scrollSchema; private RelativeLayout planSchema; ... public static Schema schema; // Surface sur laquelle sont posés les opérateurs private static Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... context = this; setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // pour que lapplication ne soit pas détruite setContentView(R.layout.base_appli); scrollSchema = (ScrollView) findViewById(R.id.ScrollSchema); planSchema = (RelativeLayout) findViewById(R.id.PlanSchema); schema = new Schema(this); planSchema.addView(schema); public class Schema extends View { // Dessine le schéma public Schema(Context context) { super(context); } @Override protected void onDraw(Canvas cnv) { super.onDraw(cnv); for (int i = 0; i < listOpe.size(); i++) listOpe.get(i).traceOpe(cnv); // Dessin de chaque opérateur } } private void faireDessin() { schema.invalidate(); }
Si vous avez une idée du pourquoi du comment cela ne veut rien afficher ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/ScrollSchema"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:minHeight="480dp" android:minWidth="533dp" android:id="@+id/PlanSchema"> </RelativeLayout> </ScrollView>
Cordialement.
Pierre
Partager