视图不可见

时间:2016-09-29 11:08:40

标签: android android-view

在全屏播放视频时,其他视图会在布局中消失,但getVisibility()返回VISIBLEisShown()返回true。 谁遇到了同样的问题,或者有一个很好的解决方案,请告诉我,谢谢。

它的activity_player.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/player"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">

<!--Used to play the video-->
<com.mediaplay.MySurfaceView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<!--Used to play the marquee-->
<com.mediaplay.AutoScrollTextView
    android:id="@+id/marqueeView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:textColor="@android:color/black"
    android:textSize="23sp"
    />
    </RelativeLayout>

它的代码(代码太多,我只能捕获重要部分):

// play video
public void start() {
    if (mMediaPlayer != null && mIsPrepared) {
        LOG("MediaPlayer start");
        mMediaPlayer.start();
    }
}

// play marquee, it extends TextView
private void initTextView() {

    if (marquee == null) return;

    marquee.requestFocus();
    marquee.setSelected(true);
    marquee.bringToFront();
    marquee.startScroll();
 }

public void startScroll() {
    isStarting = true;
    invalidate();
}
  1. 我尝试使用FrameLayout,但它不起作用
  2. 这里有一些奇怪的东西,当显示吐司或弹出对话框时,marqueeview可以显示,但一旦它们消失,marqueeview就会消失。
  3. 有一件事是肯定的,不要调用mediaplayer.start(),marqueeview可以显示,但一旦调用,它就会消失。
  4. Android4.2.2没有问题,android4.4.4会有问题

1 个答案:

答案 0 :(得分:0)

也许他们不会消失,但视频只是在其他观点上?您可以使用相对布局来确保视图位于视频上。

代码会很好。