Создание пользовательского расширенного представления в коде - PullRequest
0 голосов
/ 28 марта 2011

Я хочу настроить область уведомлений, добавив иконку справа и несколько кнопок.Я прочитал учебник здесь: http://developer.android.com/guide/topics/ui/notifiers/notifications.html

Проблема в том, что мне нужно включить этот код в библиотеку, SDK, который я хочу распространять для улучшения уведомлений.(См. http://hub.buzzbox.com/)

Можно ли написать весь пользовательский интерфейс в коде без необходимости использования xml для описания удаленного представления? Это потому, что ресурсы не могут быть включены в SDK, поэтому мне нужнопопросить пользователей моего SDK добавить xml к своим ресурсам и ссылаться на все ресурсы по имени ... которого я хотел бы избежать. Я уже написал другие части пользовательского интерфейса SDK полностью в коде Java, но я "У меня возникли проблемы, чтобы сделать то же самое для Remove View.

RemoteView обычно создается следующим образом:

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

Можно ли создать макет RemoteView из I, который я создаю с помощью кода Java?Любые другие решения?

1 Ответ

0 голосов
/ 29 марта 2011

Я думал, что вы могли бы сделать это с вашей собственной Посылкой, но, глядя на код, Посылка просто хранит имя пакета и идентификатор макета (ресурса), как это используется главным конструктором.

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);
    }
}

Я не вижу способа сделать это и думаю, что это невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...