我創建活動中的一個按鈕:如何擴展按鈕的樣式?
Button contactButton = new Button(this, null, R.style.ContactButton);
contactButton.setText(contactName);
contactsView.addView(contactButton);
與相應的風格:
<style name="ContactButton" parent="@android:style/Widget.Button">
</style>
我試圖得到它使用的ContactButton風格,延伸Widget.Button風格,這樣我就可以將樣式屬性保留在一個地方而不必重新定義整個按鈕(9-patch background等)。
但是我無法找到任何方法來繼承默認的按鈕樣式。上面的結果總是顯示爲默認的TextView。
我所得到的是通過按鈕樣式到按鈕的構造,這給我回默認按鈕的外觀,但我當然不能覆蓋這種方式最接近:
Button contactButton = new Button(this, null, android.R.attr.buttonStyle);
因此,任何想法如何完成這個?
更新:
這似乎是一個bug in the View class,這就解釋了爲什麼new Button(this, null, android.R.attr.buttonStyle)
作品和new Button(this, null, android.R.style.Widget_Button)
沒有,雖然前者只是後者的參考。
我只是遇到了這個bug,因爲我以編程方式創建按鈕,在XML中設置style
屬性正常。
我還想知道是否有一個簡單的解決方法,它仍然允許我使用樣式系統。
您是否嘗試過從XML擴展按鈕而不是實用地創建它? – schwiz 2011-05-09 00:55:32
您是否找到解決方案? – 2015-08-25 21:25:51