2011-03-28 65 views
0

我想自定義通知區域,向右側添加圖標並添加幾個按鈕。 我已閱讀教程在這裏:http://developer.android.com/guide/topics/ui/notifiers/notifications.html在代碼中創建自定義的展開視圖

問題是,我需要將此代碼包含在庫中,我想要分發以改善通知的SDK。 (請參閱http://hub.buzzbox.com/

是否可以在代碼中編寫所有UI,而無需使用xml來描述遠程視圖?這是因爲資源不能包含在一個SDK中,所以我需要問我的SDK的用戶添加一個xml到他們的資源中,並按名稱引用所有資源......這是我想避免的。 我已經用Java代碼完全編寫了SDK用戶界面的其他部分,但我在刪除視圖時也遇到了相同的問題。

一個遠程視窗通常是創建這樣的:

RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout); 

我可以創建一個遠程視窗從我的佈局,我與Java代碼中創建? 任何其他解決方案?

回答

0

我以爲你可以用你自己的Parcel做到這一點,但是看着代碼,Parcel只是簡單地存儲包的名稱和佈局(資源)ID,就像主構造函數一樣。

public void writeToParcel(Parcel dest, int flags) { 
    dest.writeString(mPackage); 
    dest.writeInt(mLayoutId); 
    int count; 
    if (mActions != null) { 
     count = mActions.size(); 
    } else { 
     count = 0; 
    } 
    dest.writeInt(count); 
    for (int i=0; i<count; i++) { 
     Action a = mActions.get(i); 
     a.writeToParcel(dest, 0); 
    } 
} 

我看不到這樣做的一種方式,認爲它可能是不可能的。