Search code examples
androidandroid-layoutviewandroid-notificationsremoteview

How to add vertical line to RemoteView for custom Android Notifications?


I'm struggling to add a vertical line to a custom Android Notification. I've tried adding a view like this to my Relative Layout:

<View
    android:id="@+id/line_vertical"
    android:layout_width="1dip"
    android:layout_height="fill_parent"
    android:layout_centerVertical="true"
    android:layout_toRightOf="@id/image_logo"
    android:background="#0000FF" />

But when I fire the notification, I get the following Exception:
android.app.RemoteServiceException: Bad notification posted from package XXX: Couldn't expand RemoteViews for: StatusBarNotification(package=XXX)

Anybody have any ideas?


Solution

  • You can't inflate just any view in a RemoteView. Change your View to an empty TextView or ImageView.

    A RemoteViews object (and, consequently, an App Widget) can support the following layout classes:

    FrameLayout
    LinearLayout
    RelativeLayout
    

    And the following widget classes:

    AnalogClock
    Button
    Chronometer
    ImageButton
    ImageView
    ProgressBar
    TextView
    ViewFlipper
    ListView
    GridView
    StackView
    AdapterViewFlipper
    

    Descendants of these classes are not supported.

    Reference: http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout