2014-10-04 31 views
2

我想將progressBarStyleHorizontal屬性放在樣式表中。 我試過這個,但它沒有奏效。如何在樣式表中指定progressBarStyleHorizo​​ntal屬性

<style name="BarraProgreso"> 
    <item name="android:progressDrawable">@android:style/Widget.ProgressBar.Horizontal</item>  
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:padding">7dp</item> 
    <item name="android:indeterminate">true</item> 
</style> 

你知道怎麼可以在樣式表中使用這個屬性嗎?

在此先感謝。

+0

用*「樣式表」*您是指CSS?我很困惑你試圖做什麼......你如何將這種風格應用於你的觀點? – rekire 2014-10-04 13:22:42

回答

3

那麼,nitzanj是正確的問題是風格。也許這是你想要什麼:

<style name="BarraProgreso" parent="@android:style/Widget.Holo.Light.ProgressBar.Horizontal"> 
     <item name="android:layout_width">match_parent</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:padding">7dp</item> 
     <item name="android:indeterminate">true</item> 
</style> 

凡使用Holo.Light主題提供了以下結果:

enter image description here

這就是你如何使用您的新創建的樣式:

<ProgressBar 
     android:id="@+id/yourIDProgressBar" 
     style="@style/BarraProgreso" /> 

希望這會有所幫助:)

+0

謝謝呃,這正是我所期待的 – Axel 2014-10-05 03:12:15

1

最簡單的解決辦法是讓你的自定義進度條樣式擴展所需的樣式像這樣:

<style name="BarraProgreso" parent="@android:style/Widget.ProgressBar.Horizontal"> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:padding">7dp</item> 
    <item name="android:indeterminate">true</item> 
</style> 

注意這個原因,你試過什麼行不通是因爲你想分配一個風格價值轉化爲可繪製的,這是不可能的。通過擴展原始樣式,您可以獲得所有屬性,同時仍然可以覆蓋任何屬性,以防父級樣式不是您需要的100%。

+0

謝謝@nitzanj它的工作原理,但它看起來不像我所期望的。我希望我的進度條類似於卸載應用程序時顯示的進度條。爲了得到這個結果,我直接在窗口小部件中使用了'style =「?android:attr/progressBarStyleHorizo​​ntal',但是因爲如果你有很多這些窗口小部件,這是不實際的,我想把它們放在styles.xml中 – Axel 2014-10-04 13:36:37