Hello,

J'ai créé un layout (pour un player), et je souhaiterais associer un item SurfaceView à une classe de holder que j'ai créé, mais je ne sais pas comment faire.

Voici mon layout:
Code player.xml : 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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <SurfaceView
        android:id="@+id/videoView"
        android:layout_width="55dp"
        android:layout_height="33dp"
        android:layout_marginLeft="35dp" />
 
    <Button
        android:id="@+id/shareBlueBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:textSize="25dp"
        android:background="@drawable/hdpiblue_button"
        android:drawablePadding="5dp"
        android:drawableRight="@drawable/share_icon"
        android:text="@string/share_it"
        android:textColor="#ffffffff"/>
 
</LinearLayout>

Pour l'instant mon Activity ne charge pas le layout mais créer un VideoHolder:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public class VideoPlayer extends Activity{
 
	private VideoHolder holder;
 
	public void onCreate ( Bundle savedInstanceState ) {
		super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 
		shareButton = (Button) findViewById(R.id.shareBlueBtn);
		holder = new VideoHolder( getApplicationContext(), this );
		setContentView( holder );
	}
et mon VideoHolder étends SurfaceView:
Code VideoHolder : 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
public class VideoHolder extends SurfaceView implements SurfaceHolder.Callback{
 
	private SurfaceHolder mHolder;
	private VideoPlayer mPlayer;
 
	public VideoHolder(Context context, VideoPlayer player ) {
		super(context);
 
		mPlayer = player;
 
		mHolder = getHolder();
		mHolder.setFixedSize(10, 10);
		mHolder.addCallback(this);
		Log.d("camerarecord", "addCallback");
		mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
	}

Comment faire pour que ma classe VideoHolder soit affectée à ma Surfaceview (id: videoView) ?

Ou bien, plus simplement y a t'il une méthode pour configurer dynamiquement la taille et position de mon VideoHolder, et de mon Button?

Merci de votre aide