define custom attribute for custom View

Updated 20 November 2017

Save

All the view classes defined in the Android Framework extend View class. so,our custom view can also extend View directly, or indirectly by extending  its subclasses, such as Button.

In this blog we can define and apply custom attribute for our custom View. so, How can we define custom attribute for custom attribute?

Define Custom Attribute-

To add a built-in View to our user interface, we specify it in an XML element and control its appearance and behavior with element attributes. Well-written custom views can also be added and styled via XML. To enable this behavior in our custom view, we must:

Once we define the custom attributes, we can use them in layout XML files just like built-in attributes. The only difference is that your custom attributes belong to a different namespace. Instead of belonging to the http://schemas.android.com/apk/res/android namespace, they belong to http://schemas.android.com/apk/res/[your package name].

Apply Custom Attribute to view-

When a view is created from an XML layout, all of the attributes in the XML tag are read from the resource bundle and passed into the view’s constructor as an AttributeSet. so, how we apply these attribute to our Custom Attribute?

The Android resource compiler does a lot of work for us to make calling obtainStyledAttributes() ,this function returns TypedArray class object and we can obtained all the Attributes values from this object.

References: https://developer.android.com/

author
. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

Start a Project


    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home