diff options
Diffstat (limited to 'ui/views/Clipping/ClippingBasic/README.md')
-rw-r--r-- | ui/views/Clipping/ClippingBasic/README.md | 56 |
1 files changed, 51 insertions, 5 deletions
diff --git a/ui/views/Clipping/ClippingBasic/README.md b/ui/views/Clipping/ClippingBasic/README.md index f6347eaa..367f4dd4 100644 --- a/ui/views/Clipping/ClippingBasic/README.md +++ b/ui/views/Clipping/ClippingBasic/README.md @@ -1,15 +1,61 @@ + Android ClippingBasic Sample -============================== +=================================== + +A basic app showing how to clip on a View using [ViewOutlineProvider][1] interface, +by which a View builds its outline, used for shadowing and clipping. + +Introduction +------------ + +The [ViewOutlineProvider][1] interface offers you a method to populate the outline of a View. +You need to implement a getOutline(android.view.View, android.graphics.Outline) +method to clip a View in a specific shape. + +This example clips the outline of a View as a rounded rectangle by defining a class that + implements ViewOutlineProvider by following code: + +```java +private class ClipOutlineProvider extends ViewOutlineProvider { + @Override + public void getOutline(View view, Outline outline) { + final int margin = Math.min(view.getWidth(), view.getHeight()) / 10; + outline.setRoundRect(margin, margin, view.getWidth() - margin, + view.getHeight() - margin, margin / 2); + } +} +``` -Basic sample to demonstrate clipping on a View. +To clip a View by the defined outline, setting a OutlineProvider to a View +to be clipped is needed like following: + +```java +final View clippedView = view.findViewById(R.id.frame); +clippedView.setOutlineProvider(mOutlineProvider); +``` + +You can toggle if the View is clipped by calling [setClipToOutline(boolean)][2] +like following code: + +```java +clippedView.setClipToOutline(true); // Setting false disable clipping +``` + +[1]: https://developer.android.com/reference/android/view/ViewOutlineProvider.html +[2]: https://developer.android.com/reference/android/view/View.html#setClipToOutline(boolean) Pre-requisites -------------- -- Android SDK (L Developer Preview) -- Android Build Tools v20 +- Android SDK v21 +- Android Build Tools v22.0.1 - Android Support Repository +Screenshots +------------- + +<img src="screenshots/screenshot-1.png" height="400" alt="Screenshot"/> <img src="screenshots/screenshot-2.png" height="400" alt="Screenshot"/> + Getting Started --------------- @@ -40,7 +86,7 @@ file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 +http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |