Java-Android应用程序SDK:从过渡动画中排除状态栏
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java-Android应用程序SDK:从过渡动画中排除状态栏,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2429字,纯文字阅读大概需要4分钟。
内容图文
我遵循了Google的标准Android SDK教程,并且可以更改操作栏的选项.
当打开其他活动时,它会作为动画弹出(渐入式渐入).我的问题是,此活动中的新操作栏也会与动画一起弹出(它们都作为一个容器连接在一起),我希望操作栏保留在顶部,固定不变,而只弹出应用程序的内容.动作栏的内容发生变化,它应该没有任何动画就发生变化.例如,看一下Telegram应用程序.
当我遵循标准教程时,我想这是默认行为,因此关闭它可能很常见,但是我在任何地方都没有找到可行的解决方案,因此我必须忽略一些非常基本的设置.
themes.xml:
...
<style name="BlaTheme"
parent="@style/Theme.AppCompat">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
<item name="android:background">@color/darkpurple</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="actionMenuTextColor">@color/actionbar_text</item>
<item name="android:windowActionBar">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@android:color/transparent</item>
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
<!-- Support library compatibility -->
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>
...
解决方法:
您可以这样定义转换:
>在fade.xml文件中:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<fade android:duration="500">
<targets>
<!--excluding status bar-->
<target android:excludeId="@android:id/statusBarBackground"/>
<!--excluding navigation bar-->
<target android:excludeId="@android:id/navigationBarBackground"/>
<!--excluding toolbar bar-->
<target android:excludeId="@id/toolbar"
</targets>
</fade>
</transitionSet>
然后将其设置为:
Transition mFadeTransition =
TransitionInflater.from(this).
inflateTransition(R.transition.fade);
getWindow().setEnterTransition(mFadeTransition);
>或仅使用java:
Fade fade = new Fade();
fade.setDuration(500);
//exclude toolbar
fade.excludeTarget(R.id.toolbar, true);
//exclude status bar
fade.excludeTarget(android.R.id.statusBarBackground, true);
//exclude navigation bar
fade.excludeTarget(android.R.id.navigationBarBackground, true);
getWindow().setEnterTransition(fade);
内容总结
以上是互联网集市为您收集整理的Java-Android应用程序SDK:从过渡动画中排除状态栏全部内容,希望文章能够帮你解决Java-Android应用程序SDK:从过渡动画中排除状态栏所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。