直接上图,类似相册的效果。
两张图都是隐藏了statusbar(状态栏),第一张显示toolbar,窗体背景为白色,第二张隐藏toolbar,窗体背景为黑色。(第一张的下面就是一个 layout_width="fill_parent" 的textview,点击是隐藏)
首先,statusbar(状态栏)的隐藏,在这里直接在theme里面style加一条
<item name="android:windowFullscreen">true</item>
或者android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”,
或者在activity里加入一下代码
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
接着,toolbar左边的返回箭头(Google官方不推荐使用)
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
当屏幕被触摸,响应事件
@Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub if (event.getAction() == MotionEvent.ACTION_DOWN) { //屏幕被触摸 if (s == 1) { //隐藏toolbar和textview showToolbar.animate().translationY(-showToolbar.getHeight()).setInterpolator(new AccelerateInterpolator(2)); //属性动画 FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) titleShower.getLayoutParams(); int fabBottomMargin = lp.bottomMargin; titleShower.animate().translationY(titleShower.getHeight() + fabBottomMargin).setInterpolator(new AccelerateInterpolator(2)).start(); shower.setBackgroundColor(Color.BLACK); //当前页面的layout s = 0; } else { showToolbar.animate().translationY(0).setInterpolator(new DecelerateInterpolator(2)); titleShower.animate().translationY(0).setInterpolator(new DecelerateInterpolator(2)).start(); shower.setBackgroundColor(Color.WHITE); s = 1; } } return true; }
隐藏和显示时都加入了属性动画,慢慢地隐藏。
相关推荐
在Android应用开发中,我们经常需要根据用户交互来动态调整界面元素的可见性,例如当用户滚动列表时,隐藏或显示顶部的ToolBar以及悬浮动作按钮(Floating Action Button, FAB)。这种效果能提供更好的用户体验,...
同时,我们还需要处理好控件之间的交互逻辑,比如在窗体间切换时,如何保存和恢复Toolbar和Statusbar的状态,以保持用户的使用习惯。 在"08020803-2008301870-仙米西巴努-实验2"这个实验项目中,很可能是对这些...
本教程将探讨如何在Android应用中动态地隐藏和显示`Toolbar`,特别是在列表滚动时实现这一功能。我们将主要关注以下几个知识点: 1. **Toolbar的引入与设置** - `Toolbar`是`android.support.v7.widget.Toolbar`库...
例如,在全屏模式下,可以隐藏StatusBar以获得更大的显示空间,但仍然需要保留ActionBar供用户操作。通过`SYSTEM_UI_FLAG_FULLSCREEN`标志可以实现StatusBar的隐藏和显示。 在实际开发中,我们还需要注意不同...
本示例"Android 仿Toolbar动画显示隐藏.zip"主要展示了如何在Android应用中实现Toolbar的动态显示和隐藏,特别是在用户上滑屏幕时隐藏,下滑到顶部时恢复显示的交互效果。这一特性常用于新闻阅读、社交应用等场景,...
在本场景中,我们关注的是如何设置AppBarLayout使其在用户向上滑动时隐藏ToolBar。 首先,让我们理解这两个组件的基本概念: 1. **AppBarLayout**: 这是一个垂直的LinearLayout的扩展,设计用于承载顶部应用栏元素...
可以通过设置View的 visibility 属性(VISIBLE、GONE 或 INVISIBLE)来控制标题的显示与隐藏。 5. **动画效果**: 为了提高用户体验,可以添加平滑的动画效果。在切换标题的可见性时,可以使用Android的动画库,如...
对于`NestedScrollView`,我们将其行为设置为`@string/appbar_scrolling_view_behavior`,这样`AppBarLayout`就会根据内容视图的滚动自动隐藏或显示`Toolbar`。 4. **Java代码中设置Toolbar**: 在Activity的...
在软件开发过程中,用户界面(UI)的设计至关重要,其中一种常见的设计手法是动态隐藏和显示工具栏。这种技术可以优化用户界面,提高空间利用效率,同时保持功能的易用性。本文将深入探讨动态隐藏和显示工具栏的概念...
这个组件主要用于创建具有可滚动头部的界面,通常与ToolBar或CollapsingToolbarLayout结合使用,以实现类似iOS中导航栏的上滑隐藏、下滑显示的效果。在本例中,我们将深入探讨如何利用AppBarLayout实现这一功能。 ...
这里的`android:id`用于后续Java代码中对`ToolBar`的引用,`android:layout_width`和`android:layout_height`定义了其尺寸,`android:background`设置了默认背景颜色。 接下来,在`onCreate`方法中,我们需要将`...
<android.support.v7.widget.Toolbar/> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView/> </android.support.design.widget.CoordinatorLayout> ``` 3. **设置...
在这个例子中,我们添加了一个`TextView`来显示标题,可以自由设置文字颜色和大小。注意,如果你想要使用默认的`Toolbar`标题,只需在你的Activity中设置`setTitle()`方法即可。 接下来,我们可以通过设置`style`...
下面将详细介绍如何使用 `DrawerLayout`、`Toolbar` 以及如何在Android应用中设置主题颜色。 `DrawerLayout` 是Android支持库中的一个布局组件,它允许开发者在屏幕边缘(通常是从左侧或右侧)滑出一个抽屉式的菜单...
Android 5.0(Lollipop)及以上版本提供了原生支持,但为了兼容更低版本,我们可以使用Translucent Status Bar技术。 1. 修改主题风格:在styles.xml文件中,创建一个新的主题并设置`android:...
状态栏(StatusBar)是手机屏幕顶部显示系统信息的地方,如时间、信号强度、电量等,而ToolBar是Android中的一个可定制的导航组件,通常用作应用程序的主菜单或标题栏。将两者一体化可以实现更美观、一致的界面效果...
接下来,我们需要在Activity中找到这个`ToolBar`并将其设置为Action Bar: ```java Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); ``` 要设置`ToolBar`的标题,可以使用`setTitle...
此外,`Toolbar`支持动画效果,如滑动隐藏和显示,这在配合Fragment或者NestedScrollView时特别有用。通过设置`CollapsingToolbarLayout`,我们可以实现类似Google Play商店那样的头部动态效果。 总之,`Toolbar`是...
macOS SwiftUI 设置窗体背景和特效 1、 .behindWindow。对于您自己创建的视觉效果视图,请使用属性指定要应用半透明性的方式和位置。2、.hudWindow。平视显示(HUD)窗口背景的材料。3、当强调某些材料时,它们会...
7. **设置控件样式**:为了使Rebar、Toolbar和Status Bar符合预期的视觉效果,需要通过`SetWindowLong`或`SetWindowPos`函数设置它们的样式和大小。 8. **消息循环**:启动消息循环,处理窗口消息。在`WndProc`中,...