Android控制视频位置
我正在尝试制作一个应用程序,你可以根据陀螺仪/罗盘的值来控制视频的X位置。例如,视频的左侧仅显示在屏幕上,而根据手机的移动,电影的其余部分显示在屏幕上 我认为简单的方法是创建一个比手机屏幕大的视图,然后控制视频视图的X值,或者类似的东西 有人知道怎么做吗? 我应该使用VideoView吗? 最好的布局是什么 我想我什么都试过了,但都不能成功 我将在这里发布我的一个尝试,以帮助理解我正在尝试做什么Android控制视频位置,android,android-layout,Android,Android Layout,我正在尝试制作一个应用程序,你可以根据陀螺仪/罗盘的值来控制视频的X位置。例如,视频的左侧仅显示在屏幕上,而根据手机的移动,电影的其余部分显示在屏幕上 我认为简单的方法是创建一个比手机屏幕大的视图,然后控制视频视图的X值,或者类似的东西 有人知道怎么做吗? 我应该使用VideoView吗? 最好的布局是什么 我想我什么都试过了,但都不能成功 我将在这里发布我的一个尝试,以帮助理解我正在尝试做什么 <?xml version="1.0" encoding="utf-8"?> <A
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/absoluteLayout"
android:layout_width="3000dp"
android:layout_height="3000dp"
android:layout_x="-500dp" >
<VideoView
android:id="@+id/videoView"
android:layout_width="2000dp"
android:layout_height="1255dp"
android:layout_x="-279dp" />
</AbsoluteLayout>
我试着去做它,而且它很有效。。唯一不同的是我使用了相对布局。。检查此代码: 布局:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="2000px"
android:layout_height="1125px"
tools:context=".MainActivity" >
<VideoView
android:id="@+id/videoView"
android:layout_width="2000px"
android:layout_height="1125px"
android:layout_marginTop="0px"
android:layout_marginLeft="0px" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="right"
android:onClick="goright"
/>
<Button
android:layout_width="wrap_content"
android:layout_marginLeft="100px"
android:layout_height="wrap_content"
android:text="down"
android:onClick="godown"
/>
</RelativeLayout>
有两个按钮可将视频100px向右或向下移动
祝你好运,我测试了它,它没有移动视频。。它看起来像是在拍电影,而不是在移动它。你看起来也一样吗?我正在用不同的布局进行测试,我一直都在解决这个问题。视频不会离开屏幕,而是会出现交叉。我想你会在这里找到答案:。。有关更多信息,请参阅:
public class MainActivity extends Activity {
private VideoView vv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vv = (VideoView) findViewById(R.id.videoView);
vv.setVideoPath("sdcard/foo/foo.mp4");
vv.start();
}
public void goright(View v) {
RelativeLayout.LayoutParams ll = (RelativeLayout.LayoutParams) vv
.getLayoutParams();
ll.setMargins(ll.leftMargin - 100, ll.topMargin, ll.rightMargin,
ll.bottomMargin);
vv.setLayoutParams(ll);
}
public void godown(View v) {
RelativeLayout.LayoutParams ll = (RelativeLayout.LayoutParams) vv
.getLayoutParams();
ll.setMargins(ll.leftMargin, ll.topMargin - 100, ll.rightMargin,
ll.bottomMargin);
vv.setLayoutParams(ll);
}
}