- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Android Studio 2.3 RC 1
我创建了一个使用透明状态栏的应用程序,该应用程序工作正常,因为状态栏是透明的。问题出在我的工具栏上,因为它似乎被推高了。我一直在尝试使用 fitsSystemWindows 来解决这个问题。然而,这并没有奏效。
只是想知道我是否做错了什么。
布局:
<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"
tools:context="me.androidbox.busbymovies.movielist.MovieListViewImp">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:contentScrim="@color/primary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/primary"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
app:layout_collapseMode="parallax">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rvMovieList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/tool_bar"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.v4.widget.ContentLoadingProgressBar
android:id="@+id/pbMovieList"
style="@style/Widget.AppCompat.ProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</android.support.design.widget.CoordinatorLayout>
我的风格:
<style name="AppTheme" parent="BaseTheme">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
然后在我的主要 Activity 中的 onCreate(..)
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
final Window window = getWindow();
window.setFlags(
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
最佳答案
我会建议,因为你有这个元素:
app:layout_collapseMode="parallax"
您在滚动时确实需要某种视差。所以这告诉我你真正想做的是使用 CoordinatorLayout。所以这不是您问题的直接答案,但如果您使用此方法它会起作用并且您可以解决这两个问题。我正在考虑我可以在您的屏幕截图中看到的图像。
<android.support.design.widget.CoordinatorLayout
android:fitsSystemWindows="true"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<! -- Your Scrollable View -->
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:fitsSystemWindows="true"
android:layout_height="192dp"
android:layout_width="match_parent">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
https://android-developers.googleblog.com/2015/05/android-design-support-library.html
关于android - 带有 fitsSystemwindows 工具栏的透明状态栏向上推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42565490/
我正在努力理解 fitsSystemWindows 的概念,因为它根据 View 执行不同的操作。根据官方文档,这是一个 Boolean internal attribute to adjust vi
我想为我的工具栏设置 FitsSystemWindows = true 或/和更改通知栏颜色。但它不起作用。我想做什么:image 我的代码在这里:样式 @color/color
我的 Android 应用以以下布局开始: Activity 有一个状态栏的偏移量。 我想通过单击按钮在运行时删除此偏移量。通过单击按钮,我执行以下操作,但它不起作用,没有任何反应:
我有一个 ConstraintLayout,我想在其中包含 Collapsing Toolbar Layout。所以,我遵循了本教程:https://antonioleiva.com/collapsi
我的布局中有这个: ... 但是我的应用中没有paddingLeft 或paddingRight。当我删除 fitsSystemWindows 时,填充又回来了。为什么?如何保留 fits
我正在使用来自 ksoichiro 的安卓库 Android-ObservableScrollView。我将他的示例 Flexible Space 与 viewpager 一起使用,并对其进行了修改。
在我的主题中,我定义了以下规则来在状态栏后面绘制我的 View : @android:color/transparent true 并在Activity中(onCreate): getWindow.g
尝试创建一个带有半透明状态栏和工具栏的简单 View ,但无法让工具栏按我预期的方式运行。工具栏似乎将 fitsSystemWindows bool 属性用于它的内部项目(标题、溢出菜单),但不是用于
Android Studio 2.3 RC 1 我创建了一个使用透明状态栏的应用程序,该应用程序工作正常,因为状态栏是透明的。问题出在我的工具栏上,因为它似乎被推高了。我一直在尝试使用 fitsSys
我发现如果父布局包含 android:fitsSystemWindows="true",当发生与 View 相关的操作时,它会干扰我的 BottomSheets 定位。 特别是我遇到的那个: Text
我用 Android Studio 2.0 创建了一个新的应用程序,我想在 Toolbar 下方放置 Navigation Drawer。我知道 Material Design 规范说它应该位于 To
我无法让带有折叠工具栏和嵌套 ScrollView 的 CoordinatorLayout 正常工作。 在除 CoordinatorLayout 之外的任何其他对象上设置 fitssystemwind
设置 现状 有限制: 这是内容的实际高度: AppBar
在我的应用程序中,我有一项 Activity 。此 Activity 的主题是 L 之前的正常主题,但对于 L 及更高版本会被覆盖,其中: ... true @color/statusTrans ..
我正在尝试使用 fitsSystemWindows="true"获得半透明的导航栏。它在 kitkat 中运行良好,半透明的导航栏使用 android:clipToPadding="false"显示内
我试图在我的应用程序中显示状态栏完全透明的 Activity 。我将此添加到我的样式中: @android:color/transparent true true 但由于某种原因,我的所有 View
我在 Activity 中有一个 ListView,它带有这样的操作栏: Activity 主题有: true true 在 Kitkat 设备下,行为是我想要的:项目在底部和顶
我在 NavigationView 中有一个自定义 View 。问题是无论采用何种组合,fitsSystemWindows 都无法在 NavigationView 中工作。并且抽屉中的顶部项目始终位于
我创建了一个项目,但只有一项 Activity 。当然只有一个xml文件。 xml文件中有两个ImageView,一个在顶部,另一个在底部。我为每个 ImageView 设置了 android:fit
对于我正在开发的应用程序,我想在用户输入后重新加载 UI(基本上是在他们对其进行更改后将其完全重置)。我想尝试避免破坏/重新创建 Activity 并改用 setContentView() 因为它要快
我是一名优秀的程序员,十分优秀!