2014-07-11 47 views
0

我在工作videoview。我写的代码女巫可以从asynctask.at网址播放视频的时刻everythink是好的,但我有另一个problem.when我运行我的应用程序videoview不是全屏。Android视频观看全屏

[我有这样resulit 1

这是我的源

public class Layout1 extends Fragment { 




VideoView video; 
MediaController media; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 


} 

@SuppressWarnings("deprecation") 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 


    View view = inflater.inflate(R.layout.fragment_layout1, null); 


    video = (VideoView) view.findViewById(R.id.video_view); 


    new BackgroundAsyncTask() 
    .execute(Global.yutubeDownloadUrl); 











    return view; 
} 

public class BackgroundAsyncTask extends AsyncTask<String, Uri, Void> { 
    Integer track = 0; 
    ProgressDialog dialog; 

    protected void onPreExecute() { 
     dialog = new ProgressDialog(getActivity()); 
     dialog.setMessage("Loading, Please Wait..."); 
     dialog.setCancelable(true); 
     dialog.show(); 
    } 

    protected void onProgressUpdate(final Uri... uri) { 

     try { 

      media=new MediaController(getActivity()); 
      video.setMediaController(media); 
      media.setVisibility(View.GONE); 
      media.setPrevNextListeners(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        // next button clicked 

       } 
      }, new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 


       } 
      }); 
      media.show(); 

      video.setVideoURI(uri[0]); 
      video.requestFocus(); 
      video.setOnPreparedListener(new OnPreparedListener() { 

       public void onPrepared(MediaPlayer arg0) { 
        video.start(); 
        dialog.dismiss(); 
       } 
      }); 


     } catch (IllegalArgumentException e) { 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      e.printStackTrace(); 
     } catch (SecurityException e) { 

      e.printStackTrace(); 
     } 


    } 

    @Override 
    protected Void doInBackground(String... params) { 
     try { 
      Uri uri = Uri.parse(params[0]); 

      publishProgress(uri); 
     } catch (Exception e) { 
      e.printStackTrace(); 

     } 

     return null; 
    } 


} 

和XML代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<VideoView 
    android:id="@+id/video_view" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" /> 

我到底做错了什么?如果有人知道的解决方案,请帮助我

回答

0

最简单的方法是将您的活动主题改为

@android:style/Theme.Holo.NoActionBar.Fullscreen 

@android:style/Theme.Black.NoTitleBar.Fullscreen 

(只要它的名字很细也全屏)。 如果您确实需要将videoview放在片段中,可能会出现一些问题,但是当我看到您的代码时,您可以使用某个活动代替该片段并设置该活动的主题。

顺便说一下......你不需要使用异步。