0

ボタンをレイアウトの一番下に配置しようとしていますが、機能しません...ボタンは、その上にあるはずの画像にボタンを表示しています。

xmlコードは次のとおりです。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ScrollView01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true"
    android:layout_gravity="center"
     >
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
         >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="28dp"
            android:layout_marginTop="32dp" />

        <TextView
            android:id="@+id/txtAppName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/imageView1"
            android:layout_marginLeft="22dp"
            android:layout_toRightOf="@+id/imageView1"
            android:text=""
            android:textSize="36px"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/txtAppAuthor"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/txtAppName"
            android:layout_below="@+id/txtAppName"
            android:layout_marginTop="5px"
            android:text=""
            android:textSize="24px"
            android:textStyle="normal" />


        <TextView
            android:id="@+id/txtAppDesc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/imageView1"
            android:layout_below="@+id/imageView1"
            android:layout_marginTop="20dp"
            android:maxHeight="350px"
            android:text=""
            android:width="600px"
            android:maxLines="10"
            android:scrollbars = "vertical"
             /> 

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/txtAppDesc"
            android:layout_below="@+id/txtAppDesc"
            android:layout_marginTop="30dp" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/imageView2"
            android:layout_toRightOf="@+id/imageView2" />


        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/imageView3"
            android:layout_toRightOf="@+id/imageView3"
            android:visibility="visible" />


        <Button
            android:id="@+id/btnInstall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_alignBottom="@+id/imageview4"
            android:text="Download &amp; Install" />

    </RelativeLayout>
</ScrollView>

そして結果は次のとおりです。

ここに画像の説明を入力してください

事前に感謝します。

4

3 に答える 3

2

使いましたandroid:layout_alignBottom="@+id/imageview4"

これは、ボタンの下部を画像の下部に揃えることを意味します。

あなたは使用する必要がありますandroid:layout_below="@+id/imageview4"

編集:(最適化のために...)複数のレイアウトがあるため、これが最善の解決策であるとは言いませんが、これは機能するはずです:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/ScrollView01"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:fillViewport="true"
            android:layout_gravity="center"
        >
    <LinearLayout android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:orientation="vertical">


        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:gravity="center"
                >

            <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginLeft="28dp"
                    android:layout_marginTop="32dp"/>

            <TextView
                    android:id="@+id/txtAppName"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignTop="@+id/imageView1"
                    android:layout_marginLeft="22dp"
                    android:layout_toRightOf="@+id/imageView1"
                    android:text=""
                    android:textSize="36px"
                    android:textStyle="bold"/>

            <TextView
                    android:id="@+id/txtAppAuthor"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/txtAppName"
                    android:layout_below="@+id/txtAppName"
                    android:layout_marginTop="5px"
                    android:text=""
                    android:textSize="24px"
                    android:textStyle="normal"/>


            <TextView
                    android:id="@+id/txtAppDesc"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/imageView1"
                    android:layout_below="@+id/imageView1"
                    android:layout_marginTop="20dp"
                    android:maxHeight="350px"
                    android:text=""
                    android:width="600px"
                    android:maxLines="10"
                    android:scrollbars="vertical"
                    />

            <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/txtAppDesc"
                    android:layout_below="@+id/txtAppDesc"
                    android:layout_marginTop="30dp"/>

            <ImageView
                    android:id="@+id/imageView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignTop="@+id/imageView2"
                    android:layout_toRightOf="@+id/imageView2"/>


            <ImageView
                    android:id="@+id/imageView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignTop="@+id/imageView3"
                    android:layout_toRightOf="@+id/imageView3"
                    android:visibility="visible"/>

        </RelativeLayout>


        <Button
                android:id="@+id/btnInstall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="Download &amp; Install"/>
    </LinearLayout>
</ScrollView>

コンテンツとボタンを配置する線形レイアウトを追加しました。これがうまくいくことを願っています。

于 2012-07-13T16:07:19.117 に答える
1

ボタンのスペースを空けるために、ボタンが終わった画像を縮小したいだけですか?その場合は、その画像を含むImageviewを相対レイアウトの最後のアイテムとして配置する必要があります。画像以外のすべてにスペースを割り当て、残りのスペースを画像に割り当てるため、最後にする必要があります。

また、どちらがどちらかを判断するのは難しいので、imageViewsに「imageView#」よりもわかりやすい名前を付けることをお勧めします。

于 2012-07-13T16:17:58.463 に答える
0

すべての画像の高さと幅全体を維持するために、Horizo​​ntalScrollViewで画像をラップすることをお勧めします。私は、Horizo​​ntalScrollViewに対応するために、ViewGroupsの幅と高さの多くを変更し、最後に画像の下にボタンを設定しました。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ScrollView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:fillViewport="true" >

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="28dp"
            android:layout_marginTop="32dp" />

        <TextView
            android:id="@+id/txtAppName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/imageView1"
            android:layout_marginLeft="22dp"
            android:layout_toRightOf="@+id/imageView1"
            android:text=""
            android:textSize="36px"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/txtAppAuthor"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/txtAppName"
            android:layout_below="@+id/txtAppName"
            android:layout_marginTop="5px"
            android:text=""
            android:textSize="24px"
            android:textStyle="normal" />

        <TextView
            android:id="@+id/txtAppDesc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/imageView1"
            android:layout_below="@+id/imageView1"
            android:layout_marginTop="20dp"
            android:maxHeight="350px"
            android:maxLines="10"
            android:scrollbars="vertical"
            android:text=""
            android:width="600px" />

        <HorizontalScrollView
            android:id="@+id/images"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/txtAppDesc"
            android:layout_marginTop="30dp" >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

                <ImageView
                    android:id="@+id/imageView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

                <ImageView
                    android:id="@+id/imageView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

            </LinearLayout>
        </HorizontalScrollView>

        <Button
            android:id="@+id/btnInstall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/images"
            android:layout_centerHorizontal="true"
            android:text="Download &amp; Install" />
    </RelativeLayout>

</ScrollView>

ScrollView内にHorizo​​ntalScrollViewをネストする(またはその逆)と、x方向とy方向に同時にスムーズなスクロール効果が作成されないことを理解してください。ただし、ここで説明するように、この効果を作成できます:androidの垂直および水平のScrollview

于 2012-07-13T16:31:34.440 に答える