布局动画,如whatsapp

时间:2018-08-13 11:18:53

标签: java android tabs android-tablayout

我正在使用TabLayoutSearcView。我该怎么办,当单击搜索按钮以隐藏类似whatsapp的选项卡布局时。 我尝试使用setEnabled方法,但无法正常工作。 我也使用了VisibilitysetActivated方法。我该怎么办?我不知道。我必须使用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");
        viewPagerAdapter.addFragment(ConvertFragment.getInstance(),"Converter");
        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>

2 个答案:

答案 0 :(得分:0)

执行以下简单步骤

  1. 在您的XML文件中创建Appbar。在其中创建一个Constraintlayout,并将其保留为match parent和match parent。
  2. 在其中,将工具栏置于标签布局的顶部和下方。
  3. 现在将搜索视图的Edittext创建为WhatsApp,并将其也保留为parent的Top_to_top并创建视图View。走了。
  4. 在“活动”中,点击搜索图标

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

答案 1 :(得分:0)

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

    @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.setVisibility(View.VISIBLE);