像 whatsapp 这样的 Tablayout 动画

Tablayout animation like whatsapp

我正在使用 TabLayoutSearcView。我该怎么做,当单击搜索按钮以隐藏选项卡布局时,如 whatsapp。 我尝试了 setEnabled 方法,但它无法正常工作。 我也用了Visibility,setActivated method.What可以吗?我不知道。我必须使用 setAnimation 方法还是其他方法?

MainActivity.java

private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;
    

    private CoordinatorLayout coordinatorLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        coordinatorLayout = (CoordinatorLayout)findViewById(R.id.root_view);
        

        toolbar = (Toolbar)findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

       
        viewPager = (ViewPager)findViewById(R.id.view_pager);
        setUpViewPager(viewPager);
        tabLayout = (TabLayout)findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);
        
    }

    private void setUpViewPager(ViewPager viewPager) {
        ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
        viewPagerAdapter.addFragment(CurrencyFragment.getInstance(),"Tracker"); // `CurrencyFragment.getInstance()` should be in `FragmentPagerAdapter.getItem()`
        viewPagerAdapter.addFragment(ConvertFragment.getInstance(),"Converter"); // `ConvertFragment.getInstance()` should be in `FragmentPagerAdapter.getItem()`
        viewPager.setAdapter(viewPagerAdapter);
    }

activity_main.xml

<?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:id="@+id/root_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            app:titleTextColor="@android:color/white"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        </android.support.v7.widget.Toolbar>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"

            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill">

        </android.support.design.widget.TabLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </android.support.v4.view.ViewPager>

</android.support.design.widget.CoordinatorLayout>

按照这些简单的步骤操作

  1. 在您的 XML 文件中创建 Appbar。在其中创建一个 Constraintlayout 并将其保留为匹配父匹配父。
  2. 在其中,您的工具栏将位于选项卡布局的顶部和下方。
  3. 现在将搜索视图的 Edittext 创建为 WhatsApp,并将其保存为父级的 Top_to_top 并制作视图 View。走了。
  4. 在 Activity 中单击搜索图标

    toolbar.setVisibility(View.GONE);
    tabLayout.setVisibility(View.GONE);
    searchViewEditText.setVisibility(View.GONE);
    

如果您使用菜单项进行搜索,则必须遵循以下代码:

    @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            if (item.getItemId() == android.R.id.search) // set your own id if you have different id from search. 
            {
                tabLayout.setVisibility(View.GONE);
                return true;
            }  

            return super.onOptionsItemSelected(item);            
    }

完成搜索后,将 tablayout 设置为可见。

tabLayout.setVisibility(View.VISIBLE);