Как воспроизводить видео на YouTube в пользовательском круговом режиме
Я хочу обрезать YouTube видео в круговом режиме во время воспроизведения. Как мне этого добиться? Я попытался сделать это, встроив его в линейный макет, а затем сделав фон макета в виде круга, но в этом случае представление проигрывателя YouTube остается в прямоугольной форме.
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/circle"
android:gravity="center"
>
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtube_view"
android:layout_width="150dp"
android:layout_height="150dp"
/>
</LinearLayout>
и фоновый файл
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#666666"/>
<size
android:width="200dp"
android:height="200dp"/>
</shape>
1 ответ
Сначала вы создаете класс CircleLayout снизу Link.
https://github.com/dmitry-zaitsev/CircleLayout/blob/master/src/ru/biovamp/widget/CircleLayout.java
Добавьте этот стиль в ваши ценности.
<declare-styleable name="CircleLayout">
<attr name="innerRadius" format="dimension" />
<attr name="sliceDivider" format="reference|color" />
<attr name="innerCircle" format="reference|color" />
<attr name="angleOffset" format="float" />
<attr name="angleRange" format="float" />
<attr name="layoutMode">
<enum name="normal" value="1" />
<enum name="pie" value="2" />
</attr>
<attr name="dividerWidth" format="dimension" />
</declare-styleable>
После установки YouTubePlayerView в макете, как показано ниже:-
<packageName.CircleLayout
android:layout_width="300dp"
android:layout_height="300dp"
app:layoutMode="pie"
app:angleOffset="90.0">
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtube_player_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY" />
</packageName.CircleLayout>
Ваш YouTube Просмотр, как на картинке ниже:-