这个布局有什么问题? Android的

时间:2010-04-27 08:39:50

标签: xml android user-interface

我正在尝试完成这样的视图:左侧=实时相机预览,右侧=一列4张图像。但我使用以下xml管理的所有内容都是全屏实时摄像头预览。 Android 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 个答案:

答案 0 :(得分:1)

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>

并且有一些相当奇怪的效果。

答案 1 :(得分:0)

查看以下内容......按照您的要求运行.....

用您的线性布局替换....

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

答案 2 :(得分:0)

这就是我解决它的方法,但它仍然是错误的,因为可以看出,我已经在'蘸'中硬编了元素的尺寸。对于1.6之前的版本可能很好,但是在1.6版本的1.6版本中,这个版面将会突破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>