1

相対的なレイアウトがあり、その中に 3 つのアイテム、2 つのイメージビュー、1 つのスクロールビューを配置します。私のレイアウトはこんな感じです...

<?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 の両方から削除します

RelativeLayoutそしてそれを直接に渡します。

または追加

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

あなたのRelativeLayout

そして合格

android:layout_centerHorizontal="true"

あなたのスクロールビューに

于 2012-04-25T07:29:11.100 に答える
0

RelativeLayoutから削除android:layout_weight="1"してみて、機能するかどうかを確認してください。


LinearLayoutで、android:orientation="horizontal"ディスプレイを水平方向に配置するための属性。したがって、RelativeLayoutは中央にありますが、別のレイアウトと共有されているため、違いに気付くことはできません。最初のRelativeLayout(IDがlogosLayoutのレイアウト)を完全に削除すると、2番目のレイアウトが中央に表示されることを願っています。

したがって、最初に必要なレイアウトの階層を定義してから、それに応じてビューを調整する必要があります。

于 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 に答える