{"id":13789631,"url":"https://github.com/roynx98/transition-button-android","last_synced_at":"2025-05-12T07:30:51.377Z","repository":{"id":36383941,"uuid":"189483851","full_name":"roynx98/transition-button-android","owner":"roynx98","description":"Button for android with animations for transition and error states.","archived":false,"fork":false,"pushed_at":"2021-12-29T23:37:40.000Z","size":1752,"stargazers_count":160,"open_issues_count":4,"forks_count":21,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-18T04:34:06.786Z","etag":null,"topics":["android","animation","button","transition","ui"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roynx98.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-30T21:18:50.000Z","updated_at":"2024-11-09T12:16:11.000Z","dependencies_parsed_at":"2022-07-15T20:17:15.190Z","dependency_job_id":null,"html_url":"https://github.com/roynx98/transition-button-android","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roynx98%2Ftransition-button-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roynx98%2Ftransition-button-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roynx98%2Ftransition-button-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roynx98%2Ftransition-button-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roynx98","download_url":"https://codeload.github.com/roynx98/transition-button-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253695027,"owners_count":21948801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","animation","button","transition","ui"],"created_at":"2024-08-03T22:00:30.625Z","updated_at":"2025-05-12T07:30:51.083Z","avatar_url":"https://github.com/roynx98.png","language":"Java","readme":"# Transition Button Android\n\n## Preview\n- **Expand animation**:\n\n\t![](expand.gif)\n\n- **Shake animation**:\n  \n  ![](shake.gif)\n  \n  \t\n  \n## Installation\n### Gradle\n```groovy\ndependencies {\n\timplementation 'com.royrodriguez:transitionbutton:0.2.0'\n}\n```\n\n## How to use\n### Step 1\nAdd the TransitonButton to your layout:\n\n```xml\n\u003ccom.royrodriguez.transitionbutton.TransitionButton\n \tandroid:id=\"@+id/transition_button\"\n\tandroid:layout_width=\"match_parent\"\n\tandroid:layout_height=\"wrap_content\"\n\tandroid:text=\"Login\"\n\t\u003c!-- Choose nice colors --\u003e\n\tapp:defaultColor=\"@color/colorAppAccent\"\n\tapp:loaderColor=\"@android:color/white\"\n\tandroid:textColor=\"@android:color/white\" /\u003e\n```\n\n### Step 2\nSetup your code:\n\n```java\npublic class MainActivity extends AppCompatActivity {\n\n    private TransitionButton transitionButton;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\t\n        transitionButton = findViewById(R.id.transition_button);\n        transitionButton.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                // Start the loading animation when the user tap the button\n                transitionButton.startAnimation();\n\n                // Do your networking task or background work here.\n                final Handler handler = new Handler();\n                handler.postDelayed(new Runnable() {\n                    @Override\n                    public void run() {\n                        boolean isSuccessful = true;\n                        \n\t\t\t// Choose a stop animation if your call was succesful or not\n                        if (isSuccessful) {\n                            transitionButton.stopAnimation(TransitionButton.StopAnimationStyle.EXPAND, new TransitionButton.OnAnimationStopEndListener() {\n                                @Override\n                                public void onAnimationStopEnd() {\n                                    Intent intent = new Intent(getBaseContext(), NewActivity.class);\n                                    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);\n                                    startActivity(intent);\n                                }\n                            });\n                        } else {\n                            transitionButton.stopAnimation(TransitionButton.StopAnimationStyle.SHAKE, null);\n                        }\n                    }\n                }, 2000);\n            }\n        });\n    }\n\n}\n```\n\n## Thanks\n\n- [TransitionButton](https://github.com/AladinWay/TransitionButton)\n\n## Author\nRoy Rodriguez [roynx98@gmail.com](roynx98@gmail.com)\n","funding_links":[],"categories":["Index"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froynx98%2Ftransition-button-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froynx98%2Ftransition-button-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froynx98%2Ftransition-button-android/lists"}