BrightcoveVideoView
.레이아웃 이해
Android 용 Brightcove Native 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>