Hello Guys, I have created and publish native android library to easily convert android views to Neumorphism UI pattern view in Android app without create any custom drawable.
What is Neumorphism design ?
The neumorphic effect is a combination of the current famous flat UI and the old skeuomorphic principles! The components have a dark box-shadow on the bottom and a light box-shadow on top; the combination of both creates the effect of the elements pushing themselves through your display.
Neumorphism is suitable for Simple / minimum page UI / single page UI apps like calculator, music app, weather app etc Neumorphism is very complicated for a large app but this is my thinking. I am not sure about other’s.
So, About this Library
Using this library you can convert your basic views to Neumorphic View using small code. Currently i tested this library on only Normal android views like Button, EditText, TextView, ImageView, Slider, Radio Button, Checkbox, Tabs etc.
You can clone this repository and import this project in Android Studio.
In your build.gradle
file of app module, add below dependency to import this library
dependencies {
implementation 'com.gpfreetech:Awesome-neumorphism:1.0.1'
}
See below code
new Neumorphism(this)
//set views you want to style in comma seperated format list
.setViews(btn1,edittext1,checkbox1…...etc)
.parentColor(backgroundColor) // madnetory color in int
.controlColor(controlColor) // madnetory color in int
.sharpEdges(TRUE | FALSE) // optional
.withCurvedSurface() // optional
.viewShape(CIRCULAR_SHAPE) // optional
.clipChildren(child_view) //optional
.withRoundedCorners(10 or any)
.build(); // call build to process
// To set elevation
.Elevation(INT_VALUE)
// To set seperat background color for view
.backgroundColor(colorIntValue);
// To set seperat background drawable for view
.backgroundDrawable(drawable)
Parameter Details:
Method | Mandatory | Description |
---|---|---|
setViews(Views..,..,..) | YES | pass all the views you want to convert to Neumorphism |
parentColor() | YES | pass parent color in int format |
controlColor() | YES | pass control color . this is nothing but a accent color |
sharpEdges(TRUE | FALSE) | NO | pass boolean determains if the view's Neumorphism shadow i.e. sharp = true or soft = false |
withCurvedSurface() | NO | Call if you want to view as a surface seems curved. Makes the view surface seems curved with colour shades |
viewShape(Neumorphism.CIRCULAR_SHAPE)) | NO | Call if you want to view as a surface seems curved. Makes the view surface seems curved with colour shades |
clipChildren(child_view) | No | Make the image view child rounded corners, if any. You can pass multiple child's to clip. |
withRoundedCorners(VALUE_IN_INT) | NO |
call with value of corners radius for views |
build() | YES |
It will build (convert view and render with updated view). |
#####Note : Currently test only Normal android views like Button, EditText, TextView, ImageView, ToggleButton, Switch, CheckBox, RadioButton,ImageButton, SeekBar, ProgressBar, TabLayout etc.
Suggestions are welcome.
If you have any issues, ideas about Neumorphism UI implementation in native android then just raise issue or fork and we are open for Pull Requests. You All Welcome.
- Govinda Paliwal (Gpfreetech) - gpfreetech@gmail.com
Copyright
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.