Bonjour,
J'essaie d'adapter un exemple de Surfaceview, mais qui ne prend qu'une partie de l'écran, et surtout ne recouvre pas mes boutons.
J'ai donc créé une Surfaceview dans mon layout.
Mon xml en partie:
J'ai la classe "EcranDessin" avec les trois constructeurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <SurfaceView android:layout_width="match_parent" android:layout_height="300dp" android:id="@+id/surfaceView" android:layout_alignParentTop="true" /> </RelativeLayout>
Dans mon activité principale je déclare un objet v EcranDessin puis je l'instance en le liant à mon layout.
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 public class EcranDessin extends SurfaceView implements Runnable{ //-- Thread t = null; //-- Déclaration du "Holder" utile pour les manipulations SurfaceHolder holder; //-- Drapeau de contrôle boolean isItOk = false; public EcranDessin(Context context) { super(context); //-- lancement du Holder holder = getHolder(); } public EcranDessin(Context context, AttributeSet attrs) { super(context, attrs); holder = getHolder(); } public EcranDessin(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); holder = getHolder(); }
Mais il n'en veut pas "Unexpeted cast to EcranDessin"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 v = (EcranDessin) findViewById(R.id.surfaceView);
Qu'est ce qui ne va pas ?
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 ublic class MainActivity extends Activity { Button btnstart, btnnext, btnquit; EcranDessin v ; //-- Définition d'une vue v de type EcranDessin Bitmap Bille; //-- BitMap float x,y; //-- Coordonnées du BitMap @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnstart = (Button) findViewById(R.id.btnstart); btnnext = (Button) findViewById(R.id.btnnext); btnquit = (Button) findViewById(R.id.btnquit); v = (EcranDessin) findViewById(R.id.surfaceView);
Merci pour votre aide.
Partager