2014-10-10 77 views
7

我在style.xml中有ProgressBar樣式。 當我創建佈局,放在那裏進度和設置樣式,如:如何在Android上以編程方式將樣式設置爲progressBar

style="@style/ProgressBarStyle" 

組佈局,以對話和所有的罰款。

其他方式以編程方式爲對話框創建視圖。 所以對於進度我有下面的代碼:

new ProgressBar(context, null, R.style.ProgressBarStyle); 

但這種方式並沒有什麼,而不是進度。

P.S.我不會忘記添加ProgressBar來查看我設置爲對話框視圖。

+0

所以你的問題是你的自定義樣式不適用於你的進度條? – tritop 2014-10-10 16:12:58

+0

不是以編程方式應用 – McBodik 2014-10-12 06:04:45

回答

8

您可以從構造函數中設置你的風格,例如:

progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall); 

其中第三屬性是樣式。

在你的情況,我認爲錯誤是選擇一個錯誤的。只是這個。

+0

正如我已經寫道,我知道第三個屬性。如果我選錯了,爲什麼在xml中這個錯誤的工作正確? – McBodik 2014-10-12 06:09:46

+0

它對你有用嗎?我不完全確定,但我會說他們是不同事物的參考,並且R.style.ProgressBarStyle被您自己的樣式(在樣式文件夾中)覆蓋,或者甚至被設置爲活動的默認Android樣式 – 2014-10-12 08:27:11

+2

好吧,也許我表達不清楚。我有我自己的風格,稱爲ProgressBarStyle。在R.style和@style我可以找到它。在XML中,所有權利(風格適用於進度條)。但是,如果程序出現錯誤,任何進度條都不顯示 – McBodik 2014-10-13 09:52:31

0

我知道這是一個遲到的答案,但我找到了解決方案我自己。

要創建帶有樣式資源的進度條,可以通過爲已經設置樣式的進度條創建佈局文件來完成。

progressbar_default.xml

<?xml version="1.0" encoding="utf-8"?> 
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    style="@style/ProgressDialogStyle.Default"/> 

然後使用充氣從活動創建進度。

mProgressBar =(ProgressBar) getLayoutInflater().inflate(R.layout.progessbar_default,null); 
相關問題