layout_alignParentBottom不起作用

时间:2014-12-16 17:11:29

标签: android xml android-layout

我在我的android项目中添加了一个图像。我尝试在图像布局中使用以下xml代码在scree底部显示它:

    android:layout_alignParentBottom="true"
    android:layout_marginRight="60dp"

但是图像会一直显示在上面。

这里有什么问题?

我的Android版本是4.1

在整个xml文件之后:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/*
   Session screen layout

   Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz

   This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. 
   If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
 -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/session_root_view"
    >

    <!-- childs are specified bottom-up so that we have a correct z-order in our final layout -->
    <android.inputmethodservice.KeyboardView
        android:id="@+id/extended_keyboard"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:visibility="gone"
        />

    <com.freerdp.freerdpcore.presentation.ScrollView2D
        android:id="@+id/sessionScrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/extended_keyboard"
        android:scrollbars="horizontal|vertical"
        android:layout_alignParentTop="true"
        android:fillViewport="true"
        android:drawingCacheQuality="low"
        android:isScrollContainer="true"
        >

        <com.freerdp.freerdpcore.presentation.SessionView
            android:id="@+id/sessionView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:drawingCacheQuality="low"
            />

    </com.freerdp.freerdpcore.presentation.ScrollView2D>        

    <com.freerdp.freerdpcore.presentation.TouchPointerView
        android:id="@+id/touchPointerView"
        android:layout_width="match_parent"         
        android:layout_height="match_parent"
        android:src="@drawable/touch_pointer_default"
        android:visibility="invisible"
        />

    <com.freerdp.freerdpcore.presentation.TxxTouchPointerView
        android:id="@+id/tmmTouchPointerView"
        android:layout_width="match_parent"         
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_marginRight="60dp"
        android:src="@drawable/tmm_touch_pointer_default"
        android:visibility="invisible"
        />

    <android.widget.ZoomControls
        android:id="@+id/zoomControls"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/sessionScrollView"
        android:layout_centerHorizontal="true"
        />

    <android.inputmethodservice.KeyboardView
        android:id="@+id/extended_keyboard_header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:visibility="gone"
        android:layout_centerHorizontal="true"      
        />   

</RelativeLayout>

5 个答案:

答案 0 :(得分:3)

假设这是有问题的图像

<com.freerdp.freerdpcore.presentation.TxxTouchPointerView
    android:id="@+id/tmmTouchPointerView"
    android:layout_width="match_parent"         
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="60dp"
    android:src="@drawable/tmm_touch_pointer_default"
    android:visibility="invisible"
    />

layout_heightmatch_parent。这意味着它将与父级一样垂直,因此layout_alignParentBottom="true"没有任何意义。试试:

        android:layout_height="wrap_content"

答案 1 :(得分:2)

将图像放在相对布局

答案 2 :(得分:1)

您正在设置其layout_height="match_parent",这意味着它始终获得其父级的完整高度(您的情况是屏幕高度),只需将其设置为layout_height="wrap_content"即可。如果需要,layout_width也是如此

见这个

    <com.freerdp.freerdpcore.presentation.TxxTouchPointerView
    android:id="@+id/tmmTouchPointerView"
    android:layout_width="wrap_content"         
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="60dp"
    android:src="@drawable/tmm_touch_pointer_default"
    android:visibility="invisible"
    />

答案 3 :(得分:0)

我想RelativeLayout本身没有设置 layout_height =“match_parent”

更新

<RelativeLayout
    layout_height="match_parent"
    (...)
    >

    <ImageView
        layout_height="wrap_content"
        layout_alignParentBottom="true"
        (...)
        />

</RelativeLayout>

答案 4 :(得分:0)

您可以使用LinearLayout,并将重力设置为底部,如下所示:

机器人:比重= “底部”