38

I am beginner at android development. I was recently looking at someone else's code and found some functions view.onApplyWindowInsets(windowInsets), windowInsets.getSystemWindowInsetTop(). And this word was used frequently in the same app.

I tried googling it and found InsetDrwable class with explanation

A Drawable that insets another Drawable by a specified distance. This is used when a View needs a background that is smaller than the View's actual bounds.

Can some one explain me what is the meaning on Insets and what those piece of code up there meant?

A explanation with an example will be appreciated.

Anurag Singh
  • 156
  • 2
  • 14
Saran Sankaran
  • 2,335
  • 2
  • 19
  • 34

1 Answers1

57

Suppose you have a TextView and you need to add a background to the TextView. But, on the other hand, you don't want the background to scan the entire View (TextView), therefore, you need to use Insets.

A Drawable that insets another Drawable by a specified distance or fraction of the content bounds. This is used when a View needs a background that is smaller than the View's actual bounds.

The background can be a Drawable. Hence you need to use the <inset> attribute inside your xml file (activity_main.xml) "For Example".

Then, after using the <inset> tag, you can specify some attributes such as:

<inset
    android:drawable="@drawable/(Enter the file name under drawable)"
    android:insetBottom="4dp"
    android:insetTop="4dp"/>

For more information please have a look at InsetDrawable on Android developer.com

Hope this helps!

lasec0203
  • 2,422
  • 1
  • 21
  • 36
issa.ayoub.dev
  • 736
  • 8
  • 7