facebook twitter hatena line email

「Android/VideoView/動画にかぶせてボタンを配置」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(動画の上に上3つと下3ボタンが表示されるサンプル)
(コードでレイアウト定義)
 
(同じ利用者による、間の5版が非表示)
行1: 行1:
==動画の上に上3つと下3ボタンが表示されるサンプル==
+
==動画のボタンを配置するサンプル==
 +
上に上3つと下3ボタンが表示される
 +
===xmlでレイアウト定義===
 
コード
 
コード
 
  VideoView videoView = (VideoView)findViewById(R.id.VideoView1);
 
  VideoView videoView = (VideoView)findViewById(R.id.VideoView1);
行9: 行11:
  
 
<FrameLayout android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="wrap_content">
 
<FrameLayout android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="wrap_content">
 
 
     <VideoView
 
     <VideoView
 
         android:id="@+id/VideoView1"
 
         android:id="@+id/VideoView1"
行70: 行71:
 
         </Button>
 
         </Button>
 
     </RelativeLayout>
 
     </RelativeLayout>
 
 
 
</FrameLayout>
 
</FrameLayout>
 +
</pre>
 +
 +
===コードでレイアウト定義===
 +
動画の右下にだけ、動画にかぶるようにボタンを表示
 +
<pre>
 +
// videoView処理
 +
mVideoView = new VideoView(MainActivity.this);
 +
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
 +
layoutParams.gravity = Gravity.CENTER;
 +
FrameLayout layout = (FrameLayout)findViewById(R.id.videoLayout);
 +
layout.addView(mVideoView, layoutParams);
 +
// ボタンView処理
 +
int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
 +
int MP = ViewGroup.LayoutParams.MATCH_PARENT;
 +
RelativeLayout btnLayout = new RelativeLayout(MainActivity.this);
 +
btnLayout.setLayoutParams(new RelativeLayout.LayoutParams(MP, MP));
 +
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(WC, WC);
 +
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
 +
lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
 +
Button btn = new Button(MainActivity.this);
 +
btn.setText("ボタン");
 +
btnLayout.addView(btn, lp);
 +
layout.addView(btnLayout);
 
</pre>
 
</pre>
  

2018年11月1日 (木) 17:49時点における最新版

動画のボタンを配置するサンプル

上に上3つと下3ボタンが表示される

xmlでレイアウト定義

コード

VideoView videoView = (VideoView)findViewById(R.id.VideoView1);
videoView.setVideoPath("ttps://~test.mp4"); // 1:1でも4:3でも16:9でも表示されることを確認した
videoView.start();

レイアウト


<FrameLayout android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="wrap_content">
    <VideoView
        android:id="@+id/VideoView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        ></VideoView>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <Button
            android:id="@+id/btn1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ぼたん1"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true">
        </Button>
        <Button
            android:id="@+id/btn2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="ぼたん2"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@+id/btn3"
            android:layout_toRightOf="@+id/btn1">
        </Button>
        <Button
            android:id="@+id/btn3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ぼたん3"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true">
        </Button>

        <Button
            android:id="@+id/btn4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ぼたん4"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true">
        </Button>
        <Button
            android:id="@+id/btn5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="ぼたん5"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/btn6"
            android:layout_toRightOf="@+id/btn4">
        </Button>
        <Button
            android:id="@+id/btn6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ぼたん6"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true">
        </Button>
    </RelativeLayout>
</FrameLayout>

コードでレイアウト定義

動画の右下にだけ、動画にかぶるようにボタンを表示

// videoView処理
mVideoView = new VideoView(MainActivity.this);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
layoutParams.gravity = Gravity.CENTER;
FrameLayout layout = (FrameLayout)findViewById(R.id.videoLayout);
layout.addView(mVideoView, layoutParams);
// ボタンView処理
int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
int MP = ViewGroup.LayoutParams.MATCH_PARENT;
RelativeLayout btnLayout = new RelativeLayout(MainActivity.this);
btnLayout.setLayoutParams(new RelativeLayout.LayoutParams(MP, MP));
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(WC, WC);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
Button btn = new Button(MainActivity.this);
btn.setText("ボタン");
btnLayout.addView(btn, lp);
layout.addView(btnLayout);

参考

http://d.hatena.ne.jp/Korsakov/20110131/1296504108 の7番