define custom attribute for custom View

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/

. . .

Leave a Comment

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


Be the first to comment.

css.php

Webkul is a truly trusted and supported IT Company to develop business ideas for e-commerce. They provide professional support after deploying the solution to production and be responsible to act for fixing the reported issues or system errors. We highly encourage to deal with Webkul for business development.

Hussein Zawia

Hussein Zawia

Co-founder, 24Dokan

Talk to Sales

Global

Live Chat
Start a Project


    Message Sent!

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

    Back to Home