0

ジャイロ/コンパスの値に応じて、ビデオの X 位置を制御できるアプリを作成しようとしています。たとえば、ビデオの左側のみが画面に表示され、電話の動きに応じて、映画の残りの部分が画面に表示されます。

携帯電話の画面よりも大きい View を作成してから、videoView の X 値などを制御するのが簡単だと思います。

誰もそれを行う方法を知っていますか? これにはVideoViewを使用する必要がありますか? 使用するのに最適なレイアウトは何ですか?

私はすべてを試してみましたが、うまくいかなかったと思います。

私がやろうとしていることを理解するのを助けるために、私の試みの1つをここに投稿します。

<?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 右または下に移動するための 2 つのボタンがあります。

幸運を、

于 2013-09-09T10:16:31.493 に答える