我对android开发很新..
看起来ImageView是VideoView的顶部,因此VideoView不会显示。这是真的?当我想要videoview显示时,我是否需要更改视图的顺序?并且当imageView必须显示图像时?
我循环浏览图像和视频列表并显示图像x秒,然后转到下一个元素,可以是视频或图像。
这是我的布局:
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="horizontal">
<ImageView
android:contentDescription="@raw/image"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:scaleType="fitCenter"
android:id="@+id/imageView" />
<VideoView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:scaleType="fitCenter"
android:id="@+id/videoView" />
<!-- <SurfaceView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/surface" /> -->
</LinearLayout>
答案 0 :(得分:2)
这不是Z排序,这是你的问题。您有一个LinearLayout
有两个视图。它设置为horizontal
,因此它希望将它们彼此相邻绘制。但是,您使用fill_parent
作为宽度,因此第一个视图占用了所有空间,下一个视图从屏幕上绘制(向右)。
一个简单的解决方案是在您想要显示其中一个或另一个时翻转视图的visibility
状态。我确定有更优雅的方法,但这很简单。
答案 1 :(得分:0)
由于imageView和videoView在同一个LinearLayout中,它们彼此相邻显示;不在另一层。
我想VideoView没有显示,因为你没有链接任何内容。至少那是我的日食所显示的。