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"