1

我有一个相对布局,在其中我放置了 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"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="horizontal"
    android:baselineAligned="true"
    android:background="@drawable/background">
    
    <RelativeLayout
        android:id="@+id/logosLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_weight="1"
        android:layout_margin="16dp"
        android:gravity="center">
                    
        <!-- An image will be placed here -->

    </RelativeLayout>
    
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_weight="1"
        android:background="#33ffffff"
        android:gravity="center"
        android:orientation="vertical">
        

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:src="@drawable/up" />

        <ScrollView
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_margin="8dp"
            android:fadingEdgeLength="32dp"
            android:scrollbars="none" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:orientation="vertical" >

                <ImageButton
                    android:id="@+id/hotelBtn"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:adjustViewBounds="true"
                    android:background="@drawable/button_background"
                    android:contentDescription="@string/hotelBtnDesc"
                    android:gravity="center"
                    android:src="@drawable/icon1" />

                <TextView
                    android:id="@+id/hotelBtnDescTxtVw"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="10dp"
                    android:gravity="center"
                    android:text="@string/hotelBtnDesc"
                    android:textColor="#ffffff"
                    android:textSize="14sp" />

                    <!-- more scrollview items -->
            </LinearLayout>

        </ScrollView>
        
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true" 
            android:src="@drawable/down" />
        
    </RelativeLayout>

</LinearLayout>

上面的代码产生了这里显示的视图:

上面执行的代码

您可能会注意到箭头未在中心对齐,而是略微向右移动。为什么会这样,我该如何解决?请注意,我已经将 android:layout_centerHorizo​​ntal="true" 用于我的图像视图。

先感谢您

4

5 回答 5

2

你的问题

android:layout_margin="8dp"

从 scrollview 和 imageView 中删除它

并将其传递给RelativeLayoutdirect。

或添加

android:layout_marginTop="8dip"
android:layout_marginBottom="8dip"

在你的RelativeLayout.

并通过

android:layout_centerHorizontal="true"

到你的滚动视图

于 2012-04-25T07:29:11.100 回答
0

尝试android:layout_weight="1"从您的RelativeLayout中删除,看看它是否有效。


在您的 LinearLayout 中,android:orientation="horizontal"导致您的显示水平对齐的属性。因此,您的 RelativeLayout 位于中心,但由于它与另一个布局共享,这就是您无法注意到差异的原因。如果您完全删除了第一个 RelativeLayout (带有 id logosLayout的那个),那么我希望您会在中心看到第二个布局。

因此,首先您需要定义所需的布局层次结构,然后相应地调整视图。

于 2012-04-25T07:18:14.260 回答
0

如果考虑到 marginRight,它们与中心对齐,请尝试添加android:layout_margin="8dp"到箭头。

于 2012-04-25T07:19:38.000 回答
0

您需要设置相对布局下的图像视图设置此图像视图宽度填充父级。

于 2012-04-25T07:27:38.527 回答
0

您的 android:layout_margin="8dp" 似乎有问题,仅适用于您的滚动视图,并将其直接传递给 RelativeLayout,而不是使用边距使用 padding =“8dp”。

于 2012-04-25T07:43:31.540 回答