Skip to content Skip to sidebar Skip to footer

Collapsible Toolbar - Make Fragment Footer Always Visible In Android

I am making an app that has a ProfilePage with three fragments - About | Posts | Gallery, and I am using a collapsible toolbar with user's image. My second and third fragment will

Solution 1:

I had the same requirement for my one of apps. I just did workaround. Add your required layout in tab layout:

<android.support.design.widget.CoordinatorLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/main_content"android:layout_width="match_parent"android:layout_height="match_parent"><android.support.design.widget.AppBarLayoutandroid:id="@+id/appbar"android:layout_width="match_parent"android:layout_height="256dp"android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"><android.support.design.widget.CollapsingToolbarLayoutandroid:id="@+id/collapsing_toolbar"android:layout_width="match_parent"contentScrim="?attr/colorPrimary"android:layout_height="match_parent"app:layout_scrollFlags="scroll|exitUntilCollapsed"><ImageViewandroid:id="@+id/profile_image"android:layout_width="match_parent"android:layout_height="match_parent"android:fitsSystemWindows="true"android:scaleType="centerCrop"android:contentDescription="@string/profile_photo"app:layout_collapseMode="none"/><android.support.v7.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"app:layout_collapseMode="pin"><ImageViewandroid:id="@+id/toolbarEdit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="end"android:contentDescription="@string/block"android:paddingEnd="20dp"android:paddingStart="5dp"app:srcCompat="@drawable/ic_icon_edit" /></android.support.v7.widget.Toolbar></android.support.design.widget.CollapsingToolbarLayout></android.support.design.widget.AppBarLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="fill_parent"android:orientation="vertical"app:layout_behavior="@string/appbar_scrolling_view_behavior"><android.support.design.widget.TabLayoutandroid:id="@+id/myProfileTabs"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:layout_gravity="bottom"app:tabContentStart="72dp"app:tabGravity="fill"app:tabMode="scrollable" /><android.support.v4.view.ViewPagerandroid:id="@+id/myProfileViewpager"android:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior" /></LinearLayout>

    <-- Your required layout -->
    <LinearLayoutandroid:id="@+id/tab123"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="bottom"android:gravity="bottom"android:orientation="horizontal"android:visibility="gone"android:weightSum="4"><EditTextandroid:id="@+id/inputMsg"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="3"android:paddingLeft="6dp"android:paddingRight="6dp" /><Buttonandroid:id="@+id/btnSend"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="send" /></LinearLayout></android.support.design.widget.CoordinatorLayout>

Add following code in your Tab activity:

TabLayout tabLayout;    
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);//add your viewpager to TabLayout 

tabLayout.addOnTabSelectedListener(newTabLayout.OnTabSelectedListener() {

    @OverridepublicvoidonTabSelected(TabLayout.Tab tab) {
        viewPager.setCurrentItem(tab.getPosition());
        LinearLayout l=(LinearLayout) findViewById(R.id.tab123);
        final EditText text=(EditText) findViewById(R.id.inputMsg);
        Button send=(Button) findViewById(R.id.btnSend);

        if (tab.getPosition() == 0) {
            l.setVisibility(View.GONE);
            System.out.println("About tab");
        } elseif (tab.getPosition() == 1) {
            l.setVisibility(View.VISIBLE);
            System.out.println("Posts tab");

            send.setOnClickListener(newView.OnClickListener() {
                @OverridepublicvoidonClick(View v) {
                    Stringmsg=null;
                    msg = text.getText().toString(); //get input// Perform your desired task.
                }
            });
        } elseif (tab.getPosition() == 2) {
            l.setVisibility(View.VISIBLE);
            System.out.println("Gallery tab");

            send.setOnClickListener(newView.OnClickListener() {
                @OverridepublicvoidonClick(View v) {
                    Stringmsg=null;
                    msg = text.getText().toString(); //get input//Perform your desired task.
                }
            });
        }
    }

    @OverridepublicvoidonTabUnselected(TabLayout.Tab tab) {

    }

    @OverridepublicvoidonTabReselected(TabLayout.Tab tab) {

    }
});

Post a Comment for "Collapsible Toolbar - Make Fragment Footer Always Visible In Android"