Android相对布局儿童大小

时间:2013-03-03 10:35:02

标签: android relativelayout

我在线性布局中有相对布局,内部相对布局我有一个图像视图和glsurface堆叠在它上面,我希望glsurface与imageview具有相同的大小,如何完成这个任务?

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

                <com.zibi.ResizableImageView
                                    android:id="@+id/imageView1"
                                    android:layout_width="fill_parent"
                                    android:layout_height="fill_parent"
                                    android:layout_weight="1.0"
                                    android:gravity="center_horizontal"
                                    android:src="@drawable/notepad" />

                <com.zibi.zGLSurfaceView android:id="@+id/surfaceviewclass"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                </com.zibi.travelersnotepad.zGLSurfaceView>
            </RelativeLayout>

2 个答案:

答案 0 :(得分:1)

尝试设置layout_align*属性。 TextView将涵盖ImageView。 More about relative layout attributes

<RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView 
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image"
        android:scaleType="fitXY"/>
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#AFFF"
        android:layout_alignRight="@+id/img"
        android:layout_alignLeft="@+id/img"
        android:layout_alignTop="@+id/img"
        android:layout_alignBottom="@+id/img"
        android:text="sample text"/>
</RelativeLayout>

答案 1 :(得分:0)

您不能使用RelativeLayout强制其中的子视图的大小属性。 如果你没有特别需要它,你可以使用LinearLayout代替并给两个视图相同的权重:

            <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent">

            <com.zibi.ResizableImageView
                                android:id="@+id/imageView1"
                                android:layout_width="fill_parent"
                                android:layout_height="fill_parent"
                                android:layout_weight="1.0"
                                android:gravity="center_horizontal"
                                android:src="@drawable/notepad" />

            <com.zibi.zGLSurfaceView android:id="@+id/surfaceviewclass"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1.0">

            </com.zibi.travelersnotepad.zGLSurfaceView>
        </LinearLayout>