我使用VideoView显示播放本地mp4,我也使用MediaController。媒体控制栏未显示在我的视频剪辑下方,而是显示在屏幕中间。我使用setAnchorView将它附加到我的videoView,但没有任何影响。我如何定位我的mediacontroller直接在我的视频下?
public class VideoDemo extends Activity {
private VideoView video;
private MediaController ctlr;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.main);
File clip=new File(Environment.getExternalStorageDirectory(),
"test.mp4");
if (clip.exists()) {
video=(VideoView)findViewById(R.id.video);
video.setVideoPath(clip.getAbsolutePath());
ctlr=new MediaController(this, false);
ctlr.setAnchorView(video);
ctlr.setMediaPlayer(video);
video.setMediaController(ctlr);
video.requestFocus();
}
}
}
我的布局是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="400dp"
android:layout_height="400dp"
android:background="#fff"
>
<VideoView
android:id="@+id/video"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
答案 0 :(得分:1)
要让平板电脑应用以全屏大小而不是中间显示媒体控制器,您需要在AndroidManifest.xml中放置一个uses-sdk行并定位一个知道存在更高级别的sdk版本分辨率设备 - 否则许多视图仅限于480x320
编辑:我之前发布的有一些问题,添加uses-sdk导致倒带/暂停/前进显示没有进度滑块下面,但事实证明,在一个特定的平板电脑上适应android软件/菜单/等按钮栏只是覆盖了媒体控制器的下半部分。
答案 1 :(得分:1)
尝试:
ctrl.setPadding(x, y, z, w)
答案 2 :(得分:0)
你可以试试这个:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="400dp"
android:background="#fff"
android:orientation="vertical" >
<VideoView
android:id="@+id/video"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
然后使用Layout Params
添加MediaController希望这有帮助!
答案 3 :(得分:0)
我有一个解决方案,添加一个垂直布局然后将视频放在该布局中,媒体控制器将出现在显示视频的布局的底部。