1

在我的一项活动中使用Vitamio播放器后,我遇到了一个奇怪的错误。当 vitamio 的媒体控制器出现时屏幕被向上推,这导致我的操作栏被裁剪了一半。

这是媒体控制器出现之前的屏幕截图(正常):

在此处输入图像描述

这是媒体控制器出现的时候(见我的操作栏):

在此处输入图像描述

这是我的布局 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=".MatchDetailActivity" >

    <LinearLayout
        android:id="@+id/wrapperVideo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <io.vov.vitamio.widget.CenterLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:orientation="vertical" >

            <io.vov.vitamio.widget.VideoView
                android:id="@+id/buffer"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true" />

            <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:orientation="horizontal" >

            <ProgressBar
                android:id="@+id/probar"
                style="?android:attr/progressBarStyleLarge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <!--
             <TextView
            android:id="@+id/download_rate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="" 
            android:visibility="gone"/>

            -->

            <TextView
                android:id="@+id/load_rate"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text=""
                android:visibility="gone" />

            <ImageButton
                android:id="@+id/btnPlay"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:src="@drawable/ic_drawer"
                android:visibility="gone" />

            <ImageButton
                android:id="@+id/btnPause"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:src="@drawable/ic_home"
                android:visibility="gone" />
        </LinearLayout>
        </io.vov.vitamio.widget.CenterLayout>



        <!--
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imgFull"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher"
            android:visibility="gone" />
    </LinearLayout>

        -->

    </LinearLayout>

    <LinearLayout 
        android:id="@+id/wrapperPager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/darker_gray"
            android:orientation="horizontal"
            android:paddingBottom="10dp"
            android:paddingTop="10dp" >

            <TextView
                android:id="@+id/events"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="EVENTS" />

            <TextView
                android:id="@+id/lineups"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="LINEUPS" />

            <TextView
                android:id="@+id/statistics"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="STATISTICS" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/darker_gray"
            android:gravity="center"
            android:orientation="horizontal"
            android:paddingBottom="10dp"
            android:paddingTop="10dp" >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:orientation="vertical" >

                    <TextView
                        android:id="@+id/txtTeam1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="5dp"
                        android:text="Team 1" />

                    <ImageView
                        android:id="@+id/imageTeam1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/ic_launcher" />
                </LinearLayout>

                <TextView
                    android:id="@+id/txtScore1"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_gravity="center"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:gravity="center"
                    android:text="0"
                    android:textSize="48sp" />

                <TextView
                    android:id="@+id/separator"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_gravity="center"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:gravity="center"
                    android:text=":"
                    android:textSize="40sp" />

                <TextView
                    android:id="@+id/txtScore2"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_gravity="center"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:gravity="center"
                    android:text="0"
                    android:textSize="48sp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:orientation="vertical" >

                    <TextView
                        android:id="@+id/txtTeam2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="5dp"
                        android:text="Team 2" />

                    <ImageView
                        android:id="@+id/imageTeam2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/ic_launcher" />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <android.support.v4.view.ViewPager
                android:id="@+id/detailPager"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/ads" >
            </android.support.v4.view.ViewPager>

            <TextView
                android:id="@+id/ads"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:background="@android:color/darker_gray"
                android:gravity="center"
                android:padding="@dimen/activity_vertical_margin"
                android:text="ads" />
        </RelativeLayout>

    </LinearLayout>

</LinearLayout>

请帮助我,谢谢你的帮助。E

4

3 回答 3

2

- 在这个文件中找到这一行 io.vov.vitamio.widget.MediaController.java setWindowLayoutType(); - 然后评论它

于 2015-05-20T14:41:49.753 回答
1

我的应用程序中也有类似的问题。我将问题缩小到 Vitamio MediaController 中的 setWindowLayoutType() 方法。我所做的是我在 show() 方法中注释掉了 setWindowLayoutType() 方法,问题对我来说就消失了。我仍在试图弄清楚为什么会发生这种情况,但同时希望它对您有所帮助。

于 2014-06-04T16:29:48.903 回答
1

你必须评论这一行 setWindowLayoutType(); 这个函数显示,这个函数在这个文件io.vov.vitamio.widget.MediaController.java中找到;这个文件的url:https ://github.com/yixia/VitamioBundle/blob/master/vitamio/src/io /vov/vitamio/widget/MediaController.java

public void show(int timeout) {
    if (!mShowing && mAnchor != null && mAnchor.getWindowToken() != null) {
      if (mPauseButton != null)
        mPauseButton.requestFocus();

      if (mFromXml) {
        setVisibility(View.VISIBLE);
      } else {
        int[] location = new int[2];

        mAnchor.getLocationOnScreen(location);
        Rect anchorRect = new Rect(location[0], location[1], location[0] + mAnchor.getWidth(), location[1] + mAnchor.getHeight());

        mWindow.setAnimationStyle(mAnimStyle);
//comment this line below
        setWindowLayoutType();
        mWindow.showAtLocation(mAnchor, Gravity.NO_GRAVITY, anchorRect.left, anchorRect.bottom);
      }
      mShowing = true;
      if (mShownListener != null)
        mShownListener.onShown();
    }
    updatePausePlay();
    mHandler.sendEmptyMessage(SHOW_PROGRESS);

    if (timeout != 0) {
      mHandler.removeMessages(FADE_OUT);
      mHandler.sendMessageDelayed(mHandler.obtainMessage(FADE_OUT), timeout);
    }
  }
于 2015-05-20T14:52:49.267 回答