{"id":24069566,"url":"https://github.com/omega-r/omegaroundingimageview","last_synced_at":"2025-07-07T11:09:56.230Z","repository":{"id":84896965,"uuid":"97131195","full_name":"Omega-R/OmegaRoundingImageView","owner":"Omega-R","description":"RoundingImageView that supports any transitions","archived":false,"fork":false,"pushed_at":"2017-07-14T13:50:54.000Z","size":27852,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T07:51:14.135Z","etag":null,"topics":["android","circle","imageview","library","round","transition"],"latest_commit_sha":null,"homepage":"https://omega-r.github.io/OmegaRoundingImageView/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Omega-R.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-13T14:23:07.000Z","updated_at":"2022-04-17T14:29:17.000Z","dependencies_parsed_at":"2023-03-15T20:00:38.106Z","dependency_job_id":null,"html_url":"https://github.com/Omega-R/OmegaRoundingImageView","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omega-R%2FOmegaRoundingImageView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omega-R%2FOmegaRoundingImageView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omega-R%2FOmegaRoundingImageView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omega-R%2FOmegaRoundingImageView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Omega-R","download_url":"https://codeload.github.com/Omega-R/OmegaRoundingImageView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250579291,"owners_count":21453449,"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","circle","imageview","library","round","transition"],"created_at":"2025-01-09T14:58:50.943Z","updated_at":"2025-04-24T06:33:31.691Z","avatar_url":"https://github.com/Omega-R.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](https://jitpack.io/v/Omega-R/OmegaRecyclerView.svg)](https://jitpack.io/#Omega-R/OmegaRoundingImageView)\n[![GitHub license](https://img.shields.io/github/license/dcendents/android-maven-gradle-plugin.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n\n# RoundingImageView\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/Omega-R/OmegaRoundingImageView/blob/master/img/sample.gif?raw=true\" width=\"300\" height=\"533\" /\u003e\n\u003c/p\u003e\n\nInstallation\n------------\n\nTo get a Git project into your build:\n\n**Step 1.** Add the JitPack repository to your build file\n```\nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n**Step 2.** Add the dependency\n```\ndependencies {\n    compile 'com.github.Omega-R:OmegaRoundingImageView:v1.0'\n}\n```\n\nUsage\n-----\n\nUse com.omega_r.rounding_imageview.RoundingImageView in place of ImageView. The `rounding` value can be set using `app:rounding` attribute. Value must be within [0,1] - **0** for no rounding, **1** for perfect rounding. Set `android:transitionName` attribute.\n\n```\n\u003ccom.omega_r.rounding_imageview.RoundingImageView\n    android:id=\"@+id/image\"\n    android:layout_width=\"80dp\"\n    android:layout_height=\"80dp\"\n    android:scaleType=\"centerCrop\"\n    android:transitionName=\"@string/iv_transition_name\"\n    app:rounding=\"0\"/\u003e\n```    \n\nTransition\n----------\n\nProvide `@transition/image_transition` as the value for `android:windowSharedElementEnterTransition` \u0026 `android:windowSharedElementExitTransition` under your Activity theme in `styles.xml`:\n\n```\n\u003cstyle name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar\"\u003e\n\t\u003citem name=\"colorPrimary\"\u003e...\u003c/item\u003e\n    \u003citem name=\"colorPrimaryDark\"\u003e...\u003c/item\u003e\n    \u003citem name=\"colorAccent\"\u003e...\u003c/item\u003e\n\n    ....\n    ....\n\n    \u003c!-- @transition/image_transition is provided by ImageTransition library --\u003e\n    \u003citem name=\"android:windowSharedElementEnterTransition\"\u003e@transition/image_transition\u003c/item\u003e\n    \u003citem name=\"android:windowSharedElementExitTransition\"\u003e@transition/image_transition\u003c/item\u003e\n\u003c/style\u003e\n```\n\nTo transfer transition values between activity's you should extent `BaseTransitionActivity` and override `Bundle getTransitionsArguments()` \u0026 `void updateTransitionsArguments(Bundle bundle)`:\n\n```\npublic class SecondActivity extends BaseTransitionActivity {\n\n    ....\n    ....\n\n    /*If transition starts from this Activity,\n     you need to return Bundle with start and end transition parameters (see sample)*/\n\n    @Override\n    protected Bundle getTransitionsArguments() {\n        return null;\n    }\n\n    /*If transition ends in this Activity,\n    you need to create RoundingImageTransitionValues and set it to callback (see sample) */\n\n    @Override\n    protected void updateTransitionsArguments(Bundle bundle) {\n        ...\n        setEnterSharedElementCallback(RoundingImageTransitionUtil.getCallback(values));\n    }\n\n    ....\n    ....\n\n    @Override\n    public void onBackPressed() {\n        supportFinishAfterTransition();\n        super.onBackPressed();\n    }\n}\n```\n\nThe sample app shows this approach.\n\nIf you'd like to change the duration of the transition, or use the transition within your own set of transitions, or use a different interpolator, include the following:\n\n```\n\u003ctransitionSet\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:interpolator=\"@android:interpolator/decelerate_cubic\"\n    android:duration=\"500\"\u003e //Set duration\n\n    // Provides bounds transition\n    \u003cchangeBounds/\u003e\n\n    // Provides transition between different scale types\n    \u003cchangeImageTransform/\u003e\n\n    // Provides rounding transition\n    \u003ctransition class=\"com.omega_r.rounding_imageview.RoundingImageTransition\"/\u003e\n\n\u003c/transitionSet\u003e\n```\n\nAPI version requirements\n------------------------\nFor image transition between activities, version 21 or above is required.\n\nLicense\n-------\n```\nCopyright 2017 Omega-R\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomega-r%2Fomegaroundingimageview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomega-r%2Fomegaroundingimageview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomega-r%2Fomegaroundingimageview/lists"}