如果現在在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; }
大功告成!!!!
沒有留言:
張貼留言