- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个使用 fitSystemWindows 能够在导航栏和状态栏后面绘制背景的应用程序 - 不幸的是,SnackBar 似乎忽略了容器中的 fitSystemWindows=true。我将问题归结为这个最小的应用程序:
风格:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:windowBackground">@color/accent_material_dark</item>
<item name="android:fitsSystemWindows">false</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
</resources>
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">
<Button
android:id="@+id/button"
android:text="@string/hello_world"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
Activity :
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
Snackbar.make(v,"This Snackbar should fitSystemWindows",Snackbar.LENGTH_INDEFINITE).show();
}
});
}
}
有人知道一些解决方法吗?
我发布了最小的应用程序来显示这里的问题: https://github.com/ligi/SnackBarFitsSystemWindowProblem
最佳答案
Snackbar
将始终寻找一个 CoordinatorLayout
来锚定自己:当您没有时,它使用完整的内容 View (在您的情况下,包括状态栏下方的区域)- 添加一个具有 fitsSystemWindows=true
的 CoordinatorLayout
就可以了。
关于android - SnackBar 和 fitSystemWindows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31492040/
我有一个 View 需要锚定到屏幕底部。在全屏模式下,它需要位于最底部,但在临时非全屏模式(用户点击)期间,它需要向上移动以免被系统栏隐藏。文档说设置 android:fitsSystemWindow
我的应用程序有一个 Activity ,为每个部分托管不同的 fragment 。我最近通过将 fitSystemWindows 设置为 true 使状态栏变得半透明,这已将其设置为应用程序的背景色。
我很难理解 fitsSystemWindows 的概念,因为它会根据 View 做不同的事情。根据官方文档,这是一个 Boolean internal attribute to adjust view
我需要图像显示在状态栏下方(状态栏必须是透明的,不知道怎么做)但我无法让它工作,我已经尝试了很多布局示例。 这是我的 xml 布局:
我正在使用一个在主要 Activity 中有 3 个选项卡的应用程序。第二个选项卡的 fragment 有一个带有标题的 NestedScrollView,应该适合系统窗口。选项卡 fragment
我有一个使用 fitSystemWindows 能够在导航栏和状态栏后面绘制背景的应用程序 - 不幸的是,SnackBar 似乎忽略了容器中的 fitSystemWindows=true。我将问题归结
我有一个绑定(bind)到 ViewPager 的 MotionLayout 过渡。 private val pageChangedListener = object : SimpleOnPageCh
我有一个透明的状态/导航栏,当我使用默认布局(顶部/左侧)放置一个撰写元素时,它被放置在状态栏下方。在 xml 中我使用 fitsSystemWindows要解决这个问题,我怎样才能在 jetpack
我无法让我的 ViewPager 页面尊重状态栏高度。 我的 ViewPager 有几个页面,其中一个页面上有一个图像需要放在半透明状态栏下。其余的页面只需要一个彩色状态栏,所以我的想法是在 frag
我正在尝试在状态栏后面绘制 View ,如下所示: 我尝试使用推荐的技术来产生这种效果,但我明白了: 从屏幕截图中可以清楚地看出,我的应用内容都没有被绘制在状态栏后面。 有趣的是,Nav Drawer
当使用来自新的 Android 4.4 KitKat API 的半透明状态栏和导航栏时,将 fitsSystemWindows="true" 和 clipToPadding="false" 设置为 L
我是一名优秀的程序员,十分优秀!