के पीछे दिखाई देता है मेरे पास एक कस्टम संवाद के अंदर VideoView
है, और मैं फ्लाई पर VideoView
के लिए मीडिया नियंत्रक बना रहा हूं और इसे कोड में VideoView
पर असाइन कर रहा हूं, हालांकि नियंत्रक नहीं करता है वास्तव में वीडियो पर दिखाई नहीं दे रहा है - यह संवाद के पीछे दिखाई देता है! वीडियो के ऊपर नियंत्रक कैसे प्राप्त करें कोई विचार है?एंड्रॉइड - संवाद के भीतर वीडियो व्यू का मीडिया नियंत्रक संवाद
मैं कस्टम संवाद का निर्माण करने में मदद करने के लिए एक स्थिर संवाद सहायक श्रेणी का निर्माण:
public class DialogHelper {
public static Dialog getVideoDialog(Context context, Uri videoLocation, boolean autoplay) {
final Dialog dialog = getBaseDialog(context,true, R.layout.dialog_video);
((Activity)context).getWindow().setFormat(PixelFormat.TRANSLUCENT);
final VideoView videoHolder = (VideoView) dialog.findViewById(R.id.video_view);
videoHolder.setVideoURI(videoLocation);
//videoHolder.setRotation(90);
MediaController mediaController = new MediaController(context);
videoHolder.setMediaController(mediaController);
mediaController.setAnchorView(videoHolder);
videoHolder.requestFocus();
if(autoplay) {
videoHolder.start();
}
videoHolder.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
dialog.dismiss();
}
});
return dialog;
}
/**
* Creates a simple dialog box with as many buttons as you want
* @param context The context of the dialog
* @param cancelable whether the dialog can be closed/cancelled by the user
* @param layoutResID the resource id of the layout you want within the dialog
*
* @return the dialog
*/
public static Dialog getBaseDialog(Context context, boolean cancelable, int layoutResID) {
Dialog dialog = new Dialog(context, R.style.Theme_PopUpDialog);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(cancelable);
dialog.setCanceledOnTouchOutside(cancelable);
dialog.setContentView(layoutResID);
return dialog;
}
}
में
तो मेरी Activity
मैं सिर्फ मेरी संवाद बनाने के लिए इस है:
Dialog videoDialog = DialogHelper.getVideoDialog(context, Uri.parse("http://commonsware.com/misc/test2.3gp"), true);
videoDialog.show();