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:
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>
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
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();
        }
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
 
 v = (EcranDessin) findViewById(R.id.surfaceView);
Mais il n'en veut pas "Unexpeted cast to EcranDessin"

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);
Qu'est ce qui ne va pas ?

Merci pour votre aide.