【问题标题】:Custom Title Bar with Progress in AndroidAndroid中带有进度的自定义标题栏
【发布时间】:2010-08-21 19:13:44
【问题描述】:

我想知道是否有任何方法可以使用我自己的可绘制对象来显示自定义标题 - 然后在标题布局中放置一个进度条,使其类似于内置的 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>

为了给每个人一个更好的主意——像这样。

【问题讨论】:

  • 如果你可以用另一个电话代替这个电话,那对你有用吗?因为您永远无法将 CUSTOM_TITLE 与任何其他标题功能一起使用。
  • 我的意思是我可以制作自己的布局并使用&lt;include /&gt; 在每个屏幕上包含我的标题 - 但由于我无法覆盖有问题的方法,我必须制作一个显示和隐藏我自己的进度条的不同方法 - 然后将其放入每个活动中。好吧——现在我想起来了,我可以把它放在一个类中,然后调用那个类,但这仍然比我想做的工作多:)。

标签: android user-interface


【解决方案1】:

在任何其他代码之前在 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.

我在登录活动中使用了它,我的问题是我运行大部分登录异步,所以我在更新 UI 时遇到问题。但我确实可以显示圆形进度动画。

我在 TabActivity 上工作,该 TabActivity 正在从 TabActivity 启动的 Activity Intent 中的异步调用中更新。我不得不将“requestWind ....”行放在 TabActivity 和被调用的 Activity 中。我还发现使用 setProgress 并没有做太多,但微调器动画一直在“旋转”,所以我很高兴。

【讨论】:

    【解决方案2】:

    这是一个很好的例子,说明如何使用进度指示器实现自定义标题栏:

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

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

    【讨论】:

      【解决方案3】:

      我相信唯一的方法是使用您自己的自定义标题栏。你可以覆盖安卓代码,因为它是开源的——但这可能是个坏主意。最好的办法是制作一个标题栏布局,并在所有其他布局中只使用&lt;include /&gt; 它,并且可能有一个帮助类来显示和隐藏进度条。

      【讨论】:

        【解决方案4】:

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

        Setting up the Actionbar

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-07
          • 1970-01-01
          • 1970-01-01
          • 2011-03-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多