使用嵌套视图?

时间:2011-02-18 16:20:17

标签: android android-layout

好吧我尝试了几种不同的配置。 这一直在崩溃,我不明白为什么? 这是代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   <WebView
      android:id="@+id/webview2"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" />
 <RelativeLayout>    
    <Button
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="10dip"
        android:text="Video 1" />
    <Button
        android:id="@+id/two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/one"
        android:text="Video 2" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/two"
        android:text="Video 3" />
</RelativeLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:2)

你的RelativeLayout没有尺寸;尝试替换为:

 <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

修改 您的按钮未显示,因为WebView正在填充屏幕,即使您将其高度设置为包装内容(通常,内容大于屏幕)。因此,由于您的节点父节点是LinearLayout,您还应该选择WebView和RelativeLayer的权重。 此外,你已经将你的两个和三个按钮设置在第一个按钮的左侧,这个按钮仅在左边距的10dip处绘制! :)

所以,这里是代码的重构,只使用RelativeLayer(不需要将它放在LinearLayout中):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
   <WebView
      android:id="@+id/webview2"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" android:layout_above="@+id/one"/>   
    <Button
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="10dip"
        android:text="Video 1" />
    <Button
        android:id="@+id/two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@id/one"
        android:text="Video 2" />
    <Button
    android:id="@+id/three"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@id/two"
        android:text="Video 3" />
</RelativeLayout>

答案 1 :(得分:2)

看起来你错过了一个结束标签“&gt;”用于线性布局。