This is a simple library that provide a quick implementation by writing code in xml layout to create a view which can be scratched to reveal items behind it like Scratchcard! There are 2 options to use: with or without build on library project.
For those dislike using reference to library project, I recommend to use option 2
-
Git clone the project git://github.com/winsontan520/Android-WScratchView.git
-
For Eclipse, Import > Existing Android Code Into Workspace > Browse folder WScratchViewLibrary > Finish
-
Build the imported library project
-
Include the library in your project by right click your project > Android > In library tab click Add and choose the imported library For testing, you may use sample project by import the folder testWScratchView and add the library If you never include library project, I would recommend you to use option 2.
-
To call the view, in your layout xml,
<com.winsontan520.WScratchView xmlns:wsv="http://schemas.android.com/apk/res-auto" android:id="@+id/scratch_view" android:layout_width="300dp" android:layout_height="300dp" android:layout_centerInParent="true" wsv:antiAlias="true" wsv:overlayColor="#0000ff" wsv:revealSize="20dp" wsv:scratchable="true" />
-
You can customize the overlay color, size and other attributes by changing the value. The attributes are self explanatory.
-
Copy https://github.com/winsontan520/Android-WScratchView/blob/master/wscratchviewjar.jar to your project libs folder
-
In your xml write something like below,
<com.winsontan520.WScratchView android:id="@+id/scratch_view" android:layout_width="300dp" android:layout_height="300dp" android:layout_centerInParent="true" />
-
Drawback of this option is you cant customize value in xml like option 1
-
To customize value, in your Activity,
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); scratchView = (WScratchView) findViewById(R.id.scratch_view); // customize attribute programmatically scratchView.setScratchable(true); scratchView.setRevealSize(50); scratchView.setAntiAlias(true); scratchView.setOverlayColor(Color.RED); }
Copyright 2013 Winson Tan
Licensed 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
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.