繁体   English   中英

自定义标题栏,包含Android的进展

[英]Custom Title Bar with Progress in Android

我想知道是否有任何方法可以使用我自己的drawable提供自定义标题 - 然后在标题布局中放置一个进度条,以便它像内置的android进度条一样。

在我的代码中 - 我希望能够调用setProgressBarIndeterminateVisibility(true)并在我的自定义标题栏中显示进度条。

这可能吗?

我已经设置了我的应用程序主题,以便它使用自定义标题 - 但我不知道如何或在何处将进度条放在该布局中。

提前致谢。

编辑:现在我使用我自己的主题看起来像这样:

<style parent="android:Theme.Light.NoTitleBar" name="BaseTheme">
    <item name="android:windowBackground">@drawable/splash_bg</item>
    <item name="android:windowTitleStyle">@style/TitleBackground</item>
</style>

标题背景样式为:

<style name="TitleBackground" parent="android:WindowTitleBackground">
    <item name="android:background">@drawable/title_bar</item>
</style>

给每个人一个更好的主意 - 这样的事情。 替代文字

在任何其他代码之前在onCreate中添加此代码:

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
requestWindowFeature(Window.FEATURE_PROGRESS);  

setProgress(xx); // Then use this to update the progress to xx amount

打开/关闭使用

setProgressBarIndeterminateVisibility(false);  //true to turn on.

我在登录Activity中使用过这个,我的问题是我运行了大部分登录异步,所以我在更新UI时遇到了问题。 但我确实要显示循环进度动画。

我有一个TabActivity正在从TabActivity启动的Activity Intent中的异步调用更新。 我必须在TabActivity和被调用的Activity中放入“requestWind ....”行。 另外我发现使用setProgress并没有做太多,但是旋转器动画一直在“旋转”,所以我很开心。

以下是如何使用进度指示器实现自定义标题栏的一个很好的示例:

http://downloadandroid.info/2010/08/creating-a-custom-titlebar/

我的解决方案是有一个ActivityHelper类,它扩展了Activity并包含了这个方法以及一个打开或关闭进度条的方法,然后从我的每个活动中扩展该类。

我相信唯一的方法是使用自己的自定义标题栏。 你可以在开源之后覆盖android代码 - 但这可能是一个坏主意。 最好的办法是制作一个标题栏布局,并在所有其他布局中只<include /> ,并且可能有一个帮助类来显示和隐藏进度条。

在较新的版本中,requestWindowFeature的技术将不起作用。 更好的选择是使用谷歌提供的v7.widget.toolbar。 以下链接提供了有关如何使用它的正确详细信息。

设置操作栏

http://developer.android.com/training/appbar/setting-up.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM