android:layout_alignParentRight =“true”什么都不做

时间:2014-01-03 22:48:10

标签: android xml android-layout android-xml

我有一个ImageView我设置为android:layout_alignParentRight="true"但它没有出现在屏幕的右侧,我不知道为什么(这是白色方块出现在水平居中在下面的截图中)。

我知道这只能与RelativeLayout一起使用 - 但我已经使用了 - 所以我不确定为什么会发生这种情况。

<?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="200dp"
                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:src="@drawable/delete_zone" />

                <FrameLayout
                    android:id="@+id/image_source_frame"
                    android:layout_width="fill_parent"
                    android:layout_height="80dp"
                    android:layout_weight="0.5" >

                    <RelativeLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_alignParentRight="true"
                        android:layout_gravity="right"
                        android:layout_marginRight="5dp"
                        android:layout_weight="1" >

                        <ImageView
                            android:id="@+id/sqwhite"
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_alignParentRight="true"
                            android:layout_gravity="right"
                            android:layout_marginRight="5dp"
                            android:layout_weight="1" />

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

enter image description here

1 个答案:

答案 0 :(得分:0)

向我跳出的一个明显的事情是xmlns的重新定义,任何编译器都不喜欢它,并且可能阻止正确生成布局。当我删除它和你的一些死代码并尝试运行它时,“sqwhite”出现在右侧。看看修复这些项目是否有帮助:

  • 您的第一个LinearLayout重新定义了XML命名空间,这是一个错误。这可能是阻止XML正确编译的原因。

其他小件物品:

  • layout_weight仅适用于LinearLayout的子项,因此无需在其他ViewGroup中使用它们。从image_source_frame及其子女
  • 中删除它们
  • 在垂直bottom_partlayout_centerHorizontal使用LinearLayout是多余的,也应该删除。
  • layout_alignParentRight中使用RelativeLayout是没用的,因为只有RelativeLayout的孩子才能使用它。请删除。
  • 也许我从你提供的代码中遗漏了它,但白色方块究竟来自哪里?您没有为android:src设置ImageView属性。那么实际的sqwhite是否可能在正确的位置,并且该白色方块代表其他东西?
编辑:我在这里重新粘贴了您的代码,删除了我列出的项目。也许这会有所帮助:

<?xml version="1.0" encoding="utf-8"?>
<com.example.project.DragLayer xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drag_layer"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/black" >

    <LinearLayout
        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="200dp"
                android:layout_weight="0.2"
                android:background="@android:color/black"
                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:src="@drawable/delete_zone" />

                <FrameLayout
                    android:id="@+id/image_source_frame"
                    android:layout_width="fill_parent"
                    android:layout_height="80dp" >

                    <RelativeLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_gravity="right"
                        android:layout_marginRight="5dp" >

                        <ImageView
                            android:id="@+id/sqwhite"
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_alignParentRight="true"
                            android:layout_gravity="right"
                            android:layout_marginRight="5dp"
                            android:src="@android:drawable/ic_delete" /> <!-- for testing -->

                        <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" />

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