Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: Custom view based on layout: how?

I am building a Android app and I am a bit struggling with custom Views.

I would like to have a reusable View that consist of a few standard layout elements. Let's say a relativelayout with some buttons in it.

How should I proceed. Should I create a custom view class that extends RelativeLayout and programmaticly add those buttons? I would think that's a bit overkill?

What's the way to do it properly in Android?

like image 470
Peterdk Avatar asked Apr 02 '10 18:04

Peterdk


1 Answers

Here are some rough steps regarding one way to create a custom aggregate view:

  1. extend RelativeLayout
  2. Provide a constructor in your new class that accepts Context and AttributeSet, making sure to call the superclass first. Do no add anything at this point. Wait until the next step.
  3. override the onFinishInflate method, where you can add your contents through Java code or inflating an XML resource
  4. Add any event handlers, etc
  5. Optionally create a resources file if your widget will require attributes to be set.

like image 74
Steve Avatar answered Sep 28 '22 08:09

Steve