我有一个 Activity toolbar
, Tablayout
, viewpager
和 fragment
像那样
但问题是 TAB 栏。 我想在搜索打开时隐藏标签栏(通话、聊天、联系)并在搜索关闭时取消隐藏
如何隐藏标签栏?
我正在使用 this Material 搜索 View 实现库
布局代码如下
<?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>
最佳答案
这是你的解决方案,我在 fragment 中试过了。
1。在您的 Main Activity 中编写如下两个方法,其中包含用于隐藏和显示 tablayout 的 tablayout。
public static void showTabLayout() {
parentTabs.setVisibility(View.VISIBLE);
}
public static void hideTabLayout() {
parentTabs.setVisibility(View.GONE);
}
2.创建接口(interface)
public interface FragmentLifecycle {
public void onPauseFragment();
public void onResumeFragment();
}
3。实现接口(interface)并调用隐藏/显示选项卡布局方法
相机 fragment .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();
}
}
我希望这是有用的。快乐编码!!
关于android - 在 android 中隐藏 Tablayout 栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121270/