「Android/VideoView/動画にかぶせてボタンを配置」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→動画の上に上3つと下3ボタンが表示されるサンプル) |
(→コードでレイアウト定義) |
||
(同じ利用者による、間の3版が非表示) | |||
行1: | 行1: | ||
− | == | + | ==動画のボタンを配置するサンプル== |
+ | 上に上3つと下3ボタンが表示される | ||
===xmlでレイアウト定義=== | ===xmlでレイアウト定義=== | ||
コード | コード | ||
行74: | 行75: | ||
===コードでレイアウト定義=== | ===コードでレイアウト定義=== | ||
+ | 動画の右下にだけ、動画にかぶるようにボタンを表示 | ||
<pre> | <pre> | ||
+ | // videoView処理 | ||
mVideoView = new VideoView(MainActivity.this); | mVideoView = new VideoView(MainActivity.this); | ||
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300); | FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300); | ||
行80: | 行83: | ||
FrameLayout layout = (FrameLayout)findViewById(R.id.videoLayout); | FrameLayout layout = (FrameLayout)findViewById(R.id.videoLayout); | ||
layout.addView(mVideoView, layoutParams); | layout.addView(mVideoView, layoutParams); | ||
− | + | // ボタンView処理 | |
int WC = ViewGroup.LayoutParams.WRAP_CONTENT; | int WC = ViewGroup.LayoutParams.WRAP_CONTENT; | ||
int MP = ViewGroup.LayoutParams.MATCH_PARENT; | int MP = ViewGroup.LayoutParams.MATCH_PARENT; |
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);