2013-02-19 3 views
0

Im очень новой для андроида развития ..Android View Display Z Заказ

Похоже ImageView это наверх в VideoView, и поэтому VideoView не отображается. Это правда? И мне нужно изменить порядок просмотров, когда я хочу показать видео? и снова, когда изображениеView должно отображать изображение?

Я просматриваю список изображений и видеороликов и показываю изображения в течение секунд, а затем перехожу к следующему элементу, может быть видео или изображения.

Это мой макет:

<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> 

ответ

2

Это не Z-упорядочивание, это ваша проблема. У вас есть LinearLayout с двумя видами. Он установлен в horizontal, поэтому он хочет нарисовать их рядом друг с другом. Тем не менее, вы используете fill_parent для ширины, поэтому первое представление занимает все пространство, а следующий вид выводится с экрана (вправо).

Простым решением было бы перевернуть состояния представлений, если вы хотите, чтобы один или другой отображался. Есть более элегантные способы сделать это, я уверен, но это просто.

+0

Вы имеете в виду: View.setVisibility (View.GONE/View.VISIBLE/View.INVISIBLE). ? – Harry

+0

Да, просто так. Вам просто нужно будет отслеживать, что такое «VISIBLE», а «GONE». Я бы не рекомендовал 'INVISIBLE' для этого, так как он будет по-прежнему занимать свое пространство макета, когда' INVISIBLE'. – Geobits

+0

Прохладный, позвольте мне попробовать :-) – Harry

0

как изображениеПросмотр и видеоПросмотр находятся в том же LinearLayout, они отображаются рядом друг с другом; не на другом слое.

Я думаю, что VideoView не отображается, поскольку вы не связываете с ним какой-либо контент. По крайней мере, это то, что показывает мое затмение.