Reputation:
How do i make my buttons fixed to the top of my screen and my navigation bar to the bottom of my screen? I have already done the android:layout_alignParentTop="true"
and android:layout_alignParentBottom="true">
which doesn't help as they still don't follow along when i scroll up or down.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#393939"
tools:context=".Main2Activity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="1000dp">
<RelativeLayout
android:id="@+id/buttons"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:gravity="center"
android:layout_gravity="center">
<Button
android:id="@+id/up_coming"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="#333333"
android:text="Upcoming" />
<Button
android:id="@+id/trending_button"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="0dp"
android:background="#333333"
android:text="Trending" />
<Button
android:id="@+id/now_showing"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#6E6E6E"
android:text="Now Showing" />
</RelativeLayout>
<ImageView
android:id="@+id/imageView5"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="20dp"
android:layout_marginTop="69dp"
app:srcCompat="@drawable/fpp3k01riyq01" />
<TextView
android:id="@+id/textView4"
android:layout_width="142dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/imageView5"
android:layout_marginEnd="39dp"
android:text="Incredibles 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView2"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="194dp"
android:layout_marginStart="29dp"
android:text="Avengers: Infinity War"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/imageView5"
app:srcCompat="@drawable/deadpool2" />
<TextView
android:id="@+id/textView5"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="449dp"
android:layout_toStartOf="@+id/imageView5"
android:text="Deadpool 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView3"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginBottom="452dp"
android:text="Rampage"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginTop="321dp"
app:srcCompat="@drawable/rampage_thumbnail" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/main_nav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_gravity="bottom"
android:layout_marginBottom="135dp"
app:itemBackground="@drawable/nav_bar_gradient"
app:itemIconTint="@color/nav_item_colors"
app:itemTextColor="@color/nav_item_colors"
app:menu="@menu/nav_items"></android.support.design.widget.BottomNavigationView>
<FrameLayout
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_alignBottom="@id/main_nav">
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.design.widget.BottomNavigationView>
</FrameLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
Upvotes: 1
Views: 1561
Reputation: 18276
Following my comment: Modify you layout so the components are outisde of ScrollView, inside scrollview add only scrollable content that you wish
The usual is like inside root LinearLayout (VERTICAL)
Inside the ScrollView you add a larger componenet to be scrollable.
This way Heder and Bottom are fixed and you can scroll the content inside the scroll.
Upvotes: 2
Reputation: 1931
Have you tried to remove your button outside from scroll view?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#393939"
tools:context=".Main2Activity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="1000dp">
<Button
android:id="@+id/up_coming"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="#333333"
android:text="Upcoming" />
<RelativeLayout
android:id="@+id/buttons"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:gravity="center"
android:layout_gravity="center">
<Button
android:id="@+id/trending_button"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="0dp"
android:background="#333333"
android:text="Trending" />
<Button
android:id="@+id/now_showing"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#6E6E6E"
android:text="Now Showing" />
</RelativeLayout>
<ImageView
android:id="@+id/imageView5"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="20dp"
android:layout_marginTop="69dp"
app:srcCompat="@drawable/fpp3k01riyq01" />
<TextView
android:id="@+id/textView4"
android:layout_width="142dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/imageView5"
android:layout_marginEnd="39dp"
android:text="Incredibles 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView2"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="194dp"
android:layout_marginStart="29dp"
android:text="Avengers: Infinity War"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/imageView5"
app:srcCompat="@drawable/deadpool2" />
<TextView
android:id="@+id/textView5"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="449dp"
android:layout_toStartOf="@+id/imageView5"
android:text="Deadpool 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView3"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginBottom="452dp"
android:text="Rampage"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginTop="321dp"
app:srcCompat="@drawable/rampage_thumbnail" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/main_nav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_gravity="bottom"
android:layout_marginBottom="135dp"
app:itemBackground="@drawable/nav_bar_gradient"
app:itemIconTint="@color/nav_item_colors"
app:itemTextColor="@color/nav_item_colors"
app:menu="@menu/nav_items"></android.support.design.widget.BottomNavigationView>
<FrameLayout
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_alignBottom="@id/main_nav">
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.design.widget.BottomNavigationView>
</FrameLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
I suggest to use ContraintLayout for future use instead of Relative Layout
Upvotes: 0