我正在使用折叠工具栏和透明状态栏创建应用程序。但我对api 19有一个问题
当我设置getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
时,我得到了这个:
我试图通过
来实现 Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
但唯一有效的是
fitsSystemWindows = "true"
但在我收到该应用栏后,状态栏
我的Appbar和Collapsing工具栏布局包含参数 create or replace procedure a2 is
cursor c1 is select id,address from emp1;
type t is table of c1%rowtype;
c t;
begin
open c1;
loop
fetch c1 bulk collect into c;
exit when c.count=0;
forall j in 1..c.count save exceptions
insert into empl1(id,address) values (c(j).id,c(j).address);
end loop;
commit;
exception when others then
for j in 1..sql%bulk_exceptions.count loop
dbms_output.put_line('The sql error is error occured');
end loop;
end a2;
/
在Api 21及更高版本都可以。
如何在api 19中使用折叠工具栏布局制作透明状态栏? 谢谢你的帮助。
答案 0 :(得分:1)
我通过此代码解决了我的问题,并且它对我来说非常合作:
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
Window w = getWindow(); // in Activity's onCreate() for instance
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
CollapsingToolbarLayout.LayoutParams lp = (CollapsingToolbarLayout.LayoutParams) mToolBar.getLayoutParams();
lp.setMargins(0,24,0,0);
mToolBar.setLayoutParams(lp);
}
我的mainActivity.xml文件是:
.......blablalba
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="210dp"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginBottom="32dp"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:fitsSystemWindows="true">
<ImageView
android:layout_width="match_parent"
android:contentDescription="@string/app_name"
android:id="@+id/ivHeader"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
android:layout_gravity="bottom"
android:layout_height="235dp" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
app:layout_collapseMode="pin"
android:layout_gravity="top"
android:background="@android:color/transparent" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
.....blalblaba
答案 1 :(得分:0)
您必须将fitsSystemWindows = "true"
更改为fitsSystemWindows = "false"
才能使其正常工作。
并且不要编写任何用于制作全屏的java代码, 只需在 styles.xml 和v21 styles.xml
中添加以下行<item name="android:windowFullscreen">true</item>