2013-02-24 44 views
-1

我想設置梯度我的應用程序標題欄(從#F55B53#FFFF00)上設置的標題欄梯度,這個下面的代碼:在Android應用程序

GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] {0xF55B53,0xFFFF00}); 
View title = getWindow().findViewById(android.R.id.title); 
View titleBar = (View) title.getParent(); 
titleBar.setBackgroundDrawable(gd); 

但是Eclipse告訴我:

從類型視圖的方法setBackgroundDrawable(繪製對象)是 棄用

我應該做?

+0

? – Macarse 2013-02-24 12:13:00

+0

主標題欄,默認情況下放置在屏幕頂部的標題,當您創建項目時 – user1997317 2013-02-24 12:15:41

+0

如果您要創建新應用程序,並且您想使用操作欄,那麼標題欄是舊的。檢查ActionBarSherlock:http://actionbarsherlock.com/ – Macarse 2013-02-24 12:18:00

回答

2

大多數情況下,您會收到一個棄用警告,它會帶來正確的做法。 如果你去View class documentation,你會發現,setBackgroundDrawable(Drawable background)法說:

這種方法已被廢棄的,而不是

API級別16.利用 的setBackground(可繪製)根據Android版本您的目標是您可能想要繼續使用已棄用的一個。

+0

謝謝..但現在eclipse告訴我,這個調用需要API級別16(和我目前的分鐘是API級別11)... – user1997317 2013-02-24 12:19:49

+0

好吧,那是因爲'setBackground(Drawable )'不在API級別11中。只需使用已棄用的方法。 – Macarse 2013-02-24 12:30:40

0

titleBar.setBackgroundDrawable(gd);

變化是你要修改的標題代碼

int sdk = android.os.Build.VERSION.SDK_INT; 
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) { 
    setBackgroundDrawable() 
} else { 
    setBackground(); 
}