如果現在在Layout檔案裡面拉了一個View的物件 , 但是想對這個View進行修改的動作自訂成我們想要的樣式和功能 , 假設現在在main.xml檔案裡面拉了一個VideoView
如果我們想要修改這個ViedoView的樣貌和功能的話 , 那必定要寫一個class extends VideoView
程式碼如下:
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.VideoView;
public class CustomVideoView extends VideoView
{
public CustomVideoView(Context context)
{
super(context);
// TODO Auto-generated constructor stub
Log.d("Go to", "Context context");
}
public CustomVideoView(Context context, AttributeSet attrs)
{
super(context, attrs);
// TODO Auto-generated constructor stub
Log.d("Go to", "Context context, AttributeSet attrs");
}
//可以發現進入的是CustomVideoView(Context context, AttributeSet attrs)這個建構子
//所以留著覆寫他 , 否則程式會強制關閉
}
接著我們要修改main.xml裡原本VideoView的定義名稱
那在Activity中該如何取用呢?
import android.app.Activity;
import android.os.Bundle;
public class CustomVideoViewTest extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
CVView=(CustomVideoView)findViewById(R.id.VideoView);
}
CustomVideoView CVView;
}
大功告成!!!!
沒有留言:
張貼留言