我正在使用Android Studio 2.2.3创建新的Tabs项目,为每个标签添加一些片段。然后添加标签图标。一切都很好看。 但, 当我滚动时,特别是动作栏上下移动。它看起来很难看。请查看屏幕截图(标题和填充区域,我已添加):
ugly screen when actionbar move up
我的问题是:
我刚刚开始学习android,所以如果这些问题不够好,请原谅我。
这是我的主要活动布局文件(它是Android Studio创建的原创文件):
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/appbar_padding_top"
android:theme="@style/AppTheme.AppBarOverlay">
<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"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" />
感谢。
答案 0 :(得分:0)
在根布局中添加android:fitsSystemWindows="true"
,即按以下方式修改:
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/appbar_padding_top"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<!-- rest of your layout here -->
</android.support.design.widget.AppBarLayout>
有关Android文档android:fitsSystemWindows
的详情:
内部属性,根据系统窗口调整视图布局 作为状态栏。如果为true,则调整此视图的填充以便离开 系统窗口的空间。只有在此视图出现时才会生效 非嵌入式活动。
必须是布尔值,“true”或“false”。
这也可能是对资源的引用(在表单中) “@ [package:] type:name”)或主题属性(在表单中 “?[package:] [type:] name”)包含此类型的值。
这对应于全局属性资源符号 fitsSystemWindows。
对于滚动问题,请从片段布局中删除以下行 -
app:layout_behavior="@string/appbar_scrolling_view_behavior"
从主要活动的布局中,从工具栏标签下删除以下行 -
app:layout_scrollFlags="scroll|enterAlways"