2011-01-24 19 views
2

ここで何が起こっているのか把握しようとしています。私はレイアウトを記述したこのxmlファイルを持っています:XMLレイアウトが正しく表示されない

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <SurfaceView android:id="@+id/surface" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center"> 
    </SurfaceView> 

    <TextView android:id="@+id/text_kb_streamed" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:textStyle="bold" 
      android:text="Streaming .mp3 Audio Tutorial" /> 

    <ProgressBar android:id="@+id/progress_bar" 
       android:layout_width="200px" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       style="?android:attr/progressBarStyleHorizontal"/> 

    <ImageButton android:id="@+id/button_play" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5px" 
       style="?android:attr/buttonStyleSmall" 
       android:src="@drawable/button_pause" /> 
</LinearLayout> 

しかし、描画するには空白の黒い画面が表示されます。自分のアクティビティでsetContentViewを呼び出します。実際、SurfaceViewタグを削除すると、正しく描画されることがわかりました。

何が起こっているのか知りたい人は誰でも教えてください。 ありがとう

編集:答えのおかげで、SurfaceViewはボタンが表示されないようにすべてのスペースを取っていることがわかりました。どのように私はそれを避けることができますか? ありがとう

+1

私はSurfaceViewを一度も使用していませんが、折り返しのある固有の次元はありますか?それはすべてのスペースを取っているように見えます。私は20pxのような固定された小さなheigthを与えることを試みる。 – bigstones

+0

setZOrderOnTopをtrueに設定しましたか? –

+1

@bigstonesまあ、20pxに設定すると、残りの部分が表示されます。だから間違いなくすべてのスペースを取っている – Pedriyoo

答えて

4

はにSurfaceViewを変更してみてください:

<SurfaceView android:id="@+id/surface" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_gravity="center"> 
</SurfaceView> 

これは、それが線形レイアウトで他のビューが使用していないだけで利用できる高さを埋めるために発生します。

関連する問題