通过滚动按钮单击隐藏后显示工具栏
Show toolbar after hidden by scrolling on button click
我在stack overflow中发现了这个问题,但是没有合适的解决方案。
Programmatically show Toolbar after hidden by scrolling (Android Design Library)
我在工具栏中有一个自定义视图,当我上下滚动时工具栏会显示和隐藏。
当我向上滚动时,工具栏将隐藏,我在 ActionBar 菜单中显示一个图标。当我单击该菜单时,我想用相同的动画显示隐藏的工具栏及其内容。
我试图翻译工具栏但没有用。
这是我的带有自定义视图的工具栏代码。
<?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"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="3dp"
android:layout_marginBottom="3dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
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"
app:layout_scrollFlags="scroll|enterAlways" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="15dp"
android:background="@drawable/searchbox_bg"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="2">
<EditText
android:layout_width="fill_parent"
android:layout_height="40dp"
android:hint="@string/home_search_hint"
android:maxLines="1"
android:textSize="15dp"
android:singleLine="true"
android:id="@+id/home_search"
android:drawableStart="@android:drawable/ic_menu_search"
android:drawableLeft="@android:drawable/ic_menu_search"
android:drawablePadding="3dp"
android:drawableTint="@color/gray_2"
android:drawingCacheQuality="high"
android:paddingLeft="10dp"
android:background="@drawable/searchbox_bg"
android:layout_weight="2"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="2"
android:id="@+id/home_speak"
android:background="@drawable/searchbox_bg"
android:src="@android:drawable/ic_btn_speak_now"/>
</LinearLayout>
</android.support.v7.widget.Toolbar>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/transparent"
android:visibility="invisible"/>
</android.support.design.widget.AppBarLayout>
要以编程方式展开或折叠工具栏,您应该使用
setExpanded(boolean expanded, boolean animate)
方法看这个Doc
让我们来回答您的问题,以便以编程方式扩展工具栏,使用这个
展开工具栏
AppBarLayout appBarLayout = (AppBarLayout)findViewById(R.id.appBarLayout);
appBarLayout.setExpanded(true, true);
如果你想折叠它的使用:
AppBarLayout appBarLayout = (AppBarLayout)findViewById(R.id.appBarLayout);
appBarLayout.setExpanded(false, true);
希望这对您有所帮助:)
我在stack overflow中发现了这个问题,但是没有合适的解决方案。
Programmatically show Toolbar after hidden by scrolling (Android Design Library)
我在工具栏中有一个自定义视图,当我上下滚动时工具栏会显示和隐藏。
当我向上滚动时,工具栏将隐藏,我在 ActionBar 菜单中显示一个图标。当我单击该菜单时,我想用相同的动画显示隐藏的工具栏及其内容。
我试图翻译工具栏但没有用。
这是我的带有自定义视图的工具栏代码。
<?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"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="3dp"
android:layout_marginBottom="3dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
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"
app:layout_scrollFlags="scroll|enterAlways" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="15dp"
android:background="@drawable/searchbox_bg"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="2">
<EditText
android:layout_width="fill_parent"
android:layout_height="40dp"
android:hint="@string/home_search_hint"
android:maxLines="1"
android:textSize="15dp"
android:singleLine="true"
android:id="@+id/home_search"
android:drawableStart="@android:drawable/ic_menu_search"
android:drawableLeft="@android:drawable/ic_menu_search"
android:drawablePadding="3dp"
android:drawableTint="@color/gray_2"
android:drawingCacheQuality="high"
android:paddingLeft="10dp"
android:background="@drawable/searchbox_bg"
android:layout_weight="2"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="2"
android:id="@+id/home_speak"
android:background="@drawable/searchbox_bg"
android:src="@android:drawable/ic_btn_speak_now"/>
</LinearLayout>
</android.support.v7.widget.Toolbar>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/transparent"
android:visibility="invisible"/>
</android.support.design.widget.AppBarLayout>
要以编程方式展开或折叠工具栏,您应该使用
setExpanded(boolean expanded, boolean animate)
方法看这个Doc
让我们来回答您的问题,以便以编程方式扩展工具栏,使用这个
展开工具栏
AppBarLayout appBarLayout = (AppBarLayout)findViewById(R.id.appBarLayout);
appBarLayout.setExpanded(true, true);
如果你想折叠它的使用:
AppBarLayout appBarLayout = (AppBarLayout)findViewById(R.id.appBarLayout);
appBarLayout.setExpanded(false, true);
希望这对您有所帮助:)