我真的很难弄清楚这里发生了什么。我有这个描述布局的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占用了所有空间,因此按钮不可见。有关如何避免这种情况的任何想法? 感谢
答案 0 :(得分: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>
这将使其仅填充线性布局中其他视图未使用的可用高度。
答案 1 :(得分:1)