按钮始终位于顶部 - Android XML Layout

时间:2016-06-03 00:44:45

标签: android xml layout

我正在为我的应用做绿色边框的布局。它是ScrollView,底部是按钮。我的问题是,如何阻止这些按钮(红色边框)始终位于顶部?我的意思是,他们会在黑色背景上显示上面的按钮(我不知道它是如何调用的)。蓝色边框显示新ScrollView的大小。如果需要,我可以添加我的代码。

http://i.stack.imgur.com/kl7Jj.jpg

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="7dp">


    <ImageView
        android:id="@+id/image"
        android:layout_width="150dp"
        android:layout_height="200dp"
        android:src="@drawable/ic_menu_camera" />

    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/image"
        android:orientation="vertical">


        <TextView
            android:id="@+id/tytul"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tytuł:" />

        <TextView
            android:id="@+id/wyniktytul"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik tytul" />

        <TextView
            android:id="@+id/rezyser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Reżyser:" />

        <TextView
            android:id="@+id/wynikrezyser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik rezyser" />

        <TextView
            android:id="@+id/gatunek"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Gatunek" />

        <TextView
            android:id="@+id/wynikgatunek"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik gatunek" />

        <TextView
            android:id="@+id/rokprodukcji"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Rok produkcji:" />

        <TextView
            android:id="@+id/wynikrokprodukcji"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik produkcja" />

        <TextView
            android:id="@+id/ocenauzytkownikow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ocena użytkowników:" />

        <RatingBar
            android:id="@+id/gwiazdki"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


    </LinearLayout>

    <TextView
        android:id="@+id/opis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linear"
        android:text="Opis:" />

    <TextView
        android:id="@+id/wynikopis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/opis"
        android:text="long text here" />


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_below="@id/wynikopis"
        android:layout_marginBottom="10dp"
        android:text="Obejrzyj potem" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_alignParentRight="true"
        android:layout_below="@+id/wynikopis"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="7dp"
        android:text="Obejrzałem" />


</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

你应该在ScrollView外面给出按钮并将所有内容放到 linearlayout

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight = "1"
    android:fillViewport="true">

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="7dp">


        <ImageView
            android:id="@+id/image"
            android:layout_width="150dp"
            android:layout_height="200dp"
            android:src="@drawable/ic_menu_camera" />

        <LinearLayout
            android:id="@+id/linear"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/image"
            android:orientation="vertical">


            <TextView
                android:id="@+id/tytul"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Tytuł:" />

            <TextView
                android:id="@+id/wyniktytul"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Wynik tytul" />

            <TextView
                android:id="@+id/rezyser"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Reżyser:" />

            <TextView
                android:id="@+id/wynikrezyser"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Wynik rezyser" />

            <TextView
                android:id="@+id/gatunek"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Gatunek" />

            <TextView
                android:id="@+id/wynikgatunek"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Wynik gatunek" />

            <TextView
                android:id="@+id/rokprodukcji"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Rok produkcji:" />

            <TextView
                android:id="@+id/wynikrokprodukcji"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Wynik produkcja" />

            <TextView
                android:id="@+id/ocenauzytkownikow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Ocena użytkowników:" />

            <RatingBar
                android:id="@+id/gwiazdki"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />


        </LinearLayout>

        <TextView
            android:id="@+id/opis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/linear"
            android:text="Opis:" />

        <TextView
            android:id="@+id/wynikopis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/opis"
            android:text="long text here" />

    </RelativeLayout>
</ScrollView>
    <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
     <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="Obejrzyj potem" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="10dp"
            android:layout_marginRight="7dp"
            android:text="Obejrzałem" />
    </RelativeLayout>
    </LinearLayout>

答案 1 :(得分:0)

因此,如果我理解为corectly,您只希望文本可滚动,但问题是......您将ScrollView作为整个布局的父级。它应该只是您要使其可滚动的视图(在本例中为textView)。

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="7dp">


    <ImageView
        android:id="@+id/image"
        android:layout_width="150dp"
        android:layout_height="200dp"
        android:src="@drawable/ic_menu_camera"/>

    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/image"
        android:orientation="vertical">


        <TextView
            android:id="@+id/tytul"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tytuł:"/>

        <TextView
            android:id="@+id/wyniktytul"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik tytul"/>

        <TextView
            android:id="@+id/rezyser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Reżyser:"/>

        <TextView
            android:id="@+id/wynikrezyser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik rezyser"/>

        <TextView
            android:id="@+id/gatunek"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Gatunek"/>

        <TextView
            android:id="@+id/wynikgatunek"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik gatunek"/>

        <TextView
            android:id="@+id/rokprodukcji"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Rok produkcji:"/>

        <TextView
            android:id="@+id/wynikrokprodukcji"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wynik produkcja"/>

        <TextView
            android:id="@+id/ocenauzytkownikow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ocena użytkowników:"/>

        <RatingBar
            android:id="@+id/gwiazdki"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>


    </LinearLayout>

    <TextView
        android:id="@+id/opis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linear"
        android:text="Opis:"/>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/btBotLeft"
        android:layout_below="@id/opis">

        <TextView
            android:id="@+id/wynikopis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="long text here"/>

    </ScrollView>

    <Button
        android:id="@+id/btBotLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="10dp"
        android:text="Obejrzyj potem"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="7dp"
        android:text="Obejrzałem"/>


</RelativeLayout>