Android XML布局参数不能按预期的方式运行

在这里输入图像描述

我有3个问题:

  1. imageView(白色瓷砖)比gridView中的其他瓷砖显得大得多(这很奇怪,因为它只设置为5dp x 5dp)
  2. 在我的editText上设置android:layout_alignParentRight =“true”,textView和imageView似乎不会将图像移动到右侧
  3. android:layout_below =“@ id / sqwhite”似乎不把我的editText放在我的textView下

(基本上来说:我需要在右下angular正确设置这些尺寸,但是我所用的参数都没有任何影响。)

有任何想法吗?

<?xml version="1.0" encoding="utf-8"?> <com.example.project.DragLayer xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" android:id="@+id/drag_layer" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/black" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="1.0" > <GridView android:id="@+id/image_grid_view" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="0.8" android:background="@color/grid_background" android:gravity="center" android:horizontalSpacing="2dip" android:numColumns="@integer/num_columns" android:stretchMode="columnWidth" android:verticalSpacing="2dip" /> <RelativeLayout android:id="@+id/bottom_part" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerHorizontal="true" android:layout_weight="0.2" android:background="@android:color/black" android:orientation="horizontal" android:weightSum="1.0" > <Button android:id="@+id/button_add_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:onClick="onClickAddImage" android:text="Add image" /> <com.example.project.DeleteZone android:id="@+id/delete_zone_view" android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="center" android:src="@drawable/delete_zone" /> <FrameLayout android:id="@+id/image_source_frame" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.5" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/sqwhite" android:layout_width="5dp" android:layout_height="5dp" android:layout_alignParentRight="true" android:layout_gravity="right" android:layout_marginRight="5dp" /> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@id/sqwhite" android:layout_marginRight="5dp" > <requestFocus /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@id/editText1" android:layout_marginRight="5dp" android:text="" android:textColor="@android:color/white" /> </RelativeLayout> </FrameLayout> </RelativeLayout> </LinearLayout> </LinearLayout> </com.example.project.DragLayer> 

好吧,我试过了你的布局,首先,你不需要linearlayout中的xmlns

其余的:

1)我猜sqwhite是白色的大瓷砖。 如果是这样,我没有看到任何src或背景,但如果使用src,则可能会拉伸视图。

2)布局正如我所复制的,确实将所有项目移动到右侧,并不知道发生了什么。

3)我看到这也正常工作。

其他评论:

– framelayout是不必要的

– 您可以使用image_source_frame的简单线性布局

这是我做的。 虽然我改变了一些你的项目的引用,所以我可以使用graphics布局,所以改回来。 这样的布局似乎解决了你所有的3个问题。

 <?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="wrap_content" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="1.0" > <GridView android:id="@+id/image_grid_view" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="0.8" android:background="#FFFF0000" android:gravity="center" android:horizontalSpacing="2dip" android:numColumns="3" android:stretchMode="columnWidth" android:verticalSpacing="2dip" /> <RelativeLayout android:id="@+id/bottom_part" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerHorizontal="true" android:layout_weight="0.2" android:background="@android:color/black" android:orientation="horizontal" android:weightSum="1.0" > <Button android:id="@+id/button_add_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:onClick="onClickAddImage" android:text="Add image" /> <com.example.project.DeleteZone android:id="@+id/delete_zone_view" android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="center" android:src="#FF00FF00" /> <LinearLayout android:id="@+id/image_source_frame" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0.5" android:orientation="vertical" android:gravity="right" > <ImageView android:id="@+id/sqwhite" android:layout_width="5dp" android:layout_height="5dp" android:layout_gravity="right" android:layout_marginRight="5dp" /> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="5dp" > <requestFocus /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:text="" android:textColor="@android:color/white" /> </LinearLayout> </RelativeLayout> </LinearLayout> </LinearLayout>