簡體   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