【问题标题】:how to play youtube video in a custom circular view如何在自定义圆形视图中播放 youtube 视频
【发布时间】:2018-03-23 05:27:16
【问题描述】:

我想在播放时以圆形视图裁剪 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>

【问题讨论】:

  • 或许您应该向我们展示您的尝试?
  • @NiamatullahBakhshi 请检查我是否已编辑问题
  • 你是不是错过了关闭shape标签?
  • @NiamatullahBakhshi 我已经在我的代码中做到了
  • youtube playview 高度宽度设置为 match-parent 和 padding 10dp。然后检查一下

标签: android view android-custom-view youtube-data-api custom-view


【解决方案1】:

首先你从下面的 Link 创建一个 CircleLayout 类。

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 视图如下图所示:-

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 2012-11-28
    • 2012-08-09
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多