在Android中隐藏Tablayout栏 [英] Hide Tablayout Bar in android
问题描述
我有一个活动,其中toolbar
,Tablayout
和viewpager
带有片段
像这样
我想对所有片段实施toolbar
材料搜索
但是问题是TAB Bar. 我想在搜索打开"中隐藏标签栏(呼叫,聊天,联系人),并在搜索关闭时取消隐藏
如何隐藏标签栏?
我正在使用此库用于材料搜索视图的实现
布局代码在
下方<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay" />
<com.miguelcatalan.materialsearchview.MaterialSearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"
app:tabGravity="center"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_dashboard" />
</android.support.design.widget.CoordinatorLayout>
这是您的解决方案,我曾在片段中尝试过.
1.在您的主要活动"中编写如下所示的两种方法,它们具有用于隐藏和显示标签布局的标签布局.
public static void showTabLayout() {
parentTabs.setVisibility(View.VISIBLE);
}
public static void hideTabLayout() {
parentTabs.setVisibility(View.GONE);
}
2.创建界面
public interface FragmentLifecycle {
public void onPauseFragment();
public void onResumeFragment();
}
3.实现界面并调用隐藏/显示标签布局方法
CameraFragment.java
package demo.com.demo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by rucha on 24/11/16.
*/
public class CameraFragment extends Fragment implements FragmentLifecycle {
public CameraFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = null;
rootView = inflater.inflate(R.layout.fragment_blue,
container, false);
setupUI(rootView);
return rootView;
}
private void setupUI(View rootView) {
}
@Override
public void onPauseFragment() {
MainActivity.showTabLayout();
}
@Override
public void onResumeFragment() {
MainActivity.hideTabLayout();
}
}
我希望这是有用的.祝您编码愉快!
I have a activity with toolbar
,Tablayout
, viewpager
with fragments
like that
I want to implement toolbar
material search on all the fragments
like that
but the problem is TAB Bar . I want to hide the tab bar(Call,Chat,Contact) on Search Open and unhide it when the search close
How can I hide the tabbar ?
I am using this library for material Search view implementation
layout code is below
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay" />
<com.miguelcatalan.materialsearchview.MaterialSearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"
app:tabGravity="center"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_dashboard" />
</android.support.design.widget.CoordinatorLayout>
here is your solution, I tried this in fragment.
1. Write two methods like below in your Main Activity which having tablayout for hiding and showing tablayout.
public static void showTabLayout() {
parentTabs.setVisibility(View.VISIBLE);
}
public static void hideTabLayout() {
parentTabs.setVisibility(View.GONE);
}
2.Create Interface
public interface FragmentLifecycle {
public void onPauseFragment();
public void onResumeFragment();
}
3. Implement interface and call hide/show tab-layout methods
CameraFragment.java
package demo.com.demo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by rucha on 24/11/16.
*/
public class CameraFragment extends Fragment implements FragmentLifecycle {
public CameraFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = null;
rootView = inflater.inflate(R.layout.fragment_blue,
container, false);
setupUI(rootView);
return rootView;
}
private void setupUI(View rootView) {
}
@Override
public void onPauseFragment() {
MainActivity.showTabLayout();
}
@Override
public void onResumeFragment() {
MainActivity.hideTabLayout();
}
}
I hope this is useful. Happy Coding!!
这篇关于在Android中隐藏Tablayout栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!