代码之家  ›  专栏  ›  技术社区  ›  kellogs

这个布局有什么问题?安卓

  •  0
  • kellogs  · 技术社区  · 14 年前

    我正试图完成这样一个视图:左侧=实时摄影机预览,右侧=一列4个图像。但我用下面的XML所做的只是一个全屏的摄像机预览。安卓1.5模拟器。

    谢谢

    <?xml version="1.0" encoding="utf-8"?>
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    
        <proto.wiinkme.SurfaceViewEx 
            android:id="@+id/preview" 
            android:layout_height="fill_parent" 
            android:layout_width="wrap_content" 
            android:layout_alignParentLeft="true"
            android:layout_weight="3"/>
    
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/preview"
            android:layout_alignParentRight="true"
            android:layout_weight="1">
    
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/mother_earth"
                android:src="@drawable/mother_earth_show" />
    
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/meadow"
                android:src="@drawable/meadow_show" />
    
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/trap"
                android:src="@drawable/trap_show" />
    
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/whistle"
                android:src="@drawable/whistle_show" />
    
    
        </LinearLayout>
    
    </RelativeLayout>
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   kellogs    14 年前

    Vishwanath

    我已经这样调整了你的布局

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    
        <LinearLayout
            android:layout_height="fill_parent" 
            android:layout_width="wrap_content" 
            android:layout_alignParentLeft="true"
            android:layout_weight="3">
    
            <proto.wiinkme.SurfaceViewEx 
                android:id="@+id/preview" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"/>
    
        </LinearLayout>
    
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/preview"
            android:layout_alignParentRight="true"
            android:layout_weight="2">
    
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/mother_earth"
                android:src="@drawable/mother_earth_show" />
    
            <ImageView
                android:layout_below = "@+id/mother_earth"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/meadow"
                android:src="@drawable/meadow_show" />
    
            <ImageView
                android:layout_below = "@+id/meadow"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/trap"
                android:src="@drawable/trap_show" />
    
            <ImageView
                android:layout_below = "@+id/trap"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/whistle"
                android:src="@drawable/whistle_show" />
    
            <Button
                android:layout_below = "@+id/whistle"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/reset"
                android:text="Reset" />
    
            <Button
                android:layout_below = "@+id/reset"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/save"
                android:text="Save" />
    
    
        </RelativeLayout>
    
    </RelativeLayout>
    

    产生了一些奇怪的效果。

        2
  •  0
  •   Vishwanath    14 年前

    签出下面的一个…它可以按照你的要求工作…

    用你的…替换线性布局。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    
        <LinearLayout
            android:id="@+id/preview" 
            android:layout_height="fill_parent" 
            android:layout_width="wrap_content" 
            android:layout_alignParentLeft="true"
            android:layout_weight="3">
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:src="@drawable/icon" />
        </LinearLayout>
    
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/preview"
            android:layout_alignParentRight="true"
            android:layout_weight="2">
    
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/mother_earth"
                android:src="@drawable/icon" />
    
            <ImageView
                android:layout_below = "@+id/mother_earth"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/meadow"
                android:src="@drawable/icon" />
    
            <ImageView
                android:layout_below = "@+id/meadow"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/trap"
                android:src="@drawable/icon" />
    
            <ImageView
                android:layout_below = "@+id/trap"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/whistle"
                android:src="@drawable/icon" />
    
    
        </RelativeLayout>
    
    </RelativeLayout>
    
        3
  •  0
  •   kellogs    14 年前

    这就是我处理它的方法,但它仍然是错误的,正如可以看到的,我在“dips”中硬编码了元素的维度。对于1.6之前的版本可能没问题,但是在1.6之后的版本中包含了1.6版本的android,这种布局对于320 x 480 3.2英寸以外的其他屏幕将是中断的。

    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    
        <proto.wiinkme.SurfaceViewEx 
            android:id="@+id/preview" 
            android:layout_height="fill_parent" 
            android:layout_width="wrap_content" 
            android:layout_alignParentLeft="true"
            android:layout_weight="3"/>
    
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/preview"
            android:layout_alignParentRight="true"
            android:layout_weight="1">
    
            <ImageView
                android:layout_width="100dip"
                android:layout_height="80dip"
                android:id="@+id/mother_earth"
                android:src="@drawable/mother_earth_show" />
    
            <ImageView
                android:layout_width="100dip"
                android:layout_height="80dip"
                android:id="@+id/meadow"
                android:src="@drawable/meadow_show" />
    
            <ImageView
                android:layout_width="100dip"
                android:layout_height="80dip"
                android:id="@+id/trap"
                android:src="@drawable/trap_show" />
    
            <ImageView
                android:layout_width="100dip"
                android:layout_height="80dip"
                android:id="@+id/whistle"
                android:src="@drawable/whistle_show" />
    
            <Button
                android:layout_marginTop="4dip"
                android:layout_width="78dip"
                android:layout_height="80dip"
                android:id="@+id/reset"
                android:text="Reset" />
    
            <Button
                android:layout_width="78dip"
                android:layout_height="80dip"
                android:id="@+id/save"
                android:text="Save" />
    
    
        </LinearLayout>
    
    </LinearLayout>