0

我正在尝试制作一个应用程序,您可以根据 Gyro/Compass 的值控制视频的 X 位置。例如,视频的左侧只出现在屏幕上,根据手机的移动,电影的其余部分出现在屏幕上。

我认为最简单的方法是创建一个比手机屏幕大的 View,然后控制 videoView 的 X 值,或者类似的东西。

有谁知道如何做到这一点?我应该为此使用 VideoView 吗?什么是最好的布局?

我认为我尝试了一切,但无法使其发挥作用。

我将在这里发布我的尝试之一,以帮助了解我正在尝试做什么。

<?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>
4

1 回答 1

0

我试着去做它和它的工作..唯一的区别我使用了相对的layoyt..检查这个代码:

布局:

<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>

和代码是:

  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);

        }

    }

有两个按钮可以将视频向右或向下移动 100px

祝你好运,

于 2013-09-09T10:16:31.493 回答