BrightcoveVideoView
。レイアウトを理解する
Android 用 Brightcove ネイティブ SDK を使用する前に、Android アプリでレイアウトを管理およびカスタマイズする方法を理解しておくことをお勧めします。
まず、「 Android 開発者ユーザーインターフェイスガイド」を参照してください。
レイアウトパラメータの上書き
BrightcoveVideoView
は、BrightcoveExoPlayerVideoView
の親クラスです。
View
にを追加する場合はBrightcoveVideoView
、setLayoutParams()
View
子に対してメソッドを使用して、View
子にとって意味のあるレイアウトパラメータのみを適用します。
setLayoutParams()
メソッドの例を次に示します。
@Override
public void setLayoutParams(ViewGroup.LayoutParams layoutParams) {
Log.v(TAG, "setLayoutParams: " + layoutParams);
super.setLayoutParams(layoutParams);
if (layoutParams != null) {
int childCount = getChildCount();
FrameLayout.LayoutParams frameLayoutParams =
new FrameLayout.LayoutParams(layoutParams.width, layoutParams.height);
frameLayoutParams.gravity = Gravity.CENTER;
for (int i = 0; i < childCount; i++) {
getChildAt(i).setLayoutParams(frameLayoutParams);
}
}
}
これにより、SurfaceView
およびはImageView
、BrightcoveVideoView
に指定されたレイアウトパラメータを取得できます。
SurfaceView
ImageView
レイアウトパラメータをおよび子にのみ適用することは可能ですが、追加の子がいつ反応するのも難しいでしょう。ではBrightcoveVideoView
、レイアウトパラメータが更新されています。
Brightcoveはオーバーライドを提案しますsetLayoutParams()
の中にLinearLayout
子は幅を通過しますが、高さと重力は変更されません。
ビューを追加する場合
に追加するアプリケーションはView
、BrightcoveExoPlayerVideoView
プレーヤーの前にオブジェクトを追加する目的に応じて変更することができます。例えば、ビューを使用してキャプションを表示したり、TextViews
アプリでコントローラのレイアウトを追加したりするために追加/削除することができます。
ザ・BrightcoveExoPlayerVideoView
バリアントはBaseVideoView
これはAndroidを拡張しますFrameLayout
。これは、ビューをに追加できることを意味しますBrightcoveExoPlayerVideoView
あなたがそれをするのと同じ方法FrameLayout
。
Android アプリの activity_main.xml ファイルの例を次に示します。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<com.brightcove.player.view.BrightcoveExoPlayerVideoView
android:id="@+id/brightcove_video_view"
android:layout_width="match_parent"
android:layout_height="280dp"
android:layout_gravity="center_horizontal|top">
<RelativeLayout
android:id="@+id/rl_elephant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|bottom"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=“HELLO WORLD”
android:textColor="@color/white"
>
</RelativeLayout>
</com.brightcove.player.view.BrightcoveExoPlayerVideoView>
</LinearLayout>