Awesome Neumorphism - Android Library

Download Bintray API

Github Followers GitHub stars GitHub forks GitHub watchers

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.

Sample Example App Screens

Implementation

You can clone this repository and import this project in Android Studio.

Using Gradle

In your build.gradle file of app module, add below dependency to import this library

    dependencies {
       implementation 'com.gpfreetech:Awesome-neumorphism:1.0.1'
    }

In Your Working Activity

Initializing Awesome-Neumorphism :

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

Other Extra Methods

// 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.

Contribute

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.

Developed and maintained By

License

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.