Releases: frogobox/frogo-ui
Release v2.0.5
Full Changelog: 2.0.3...2.0.5
Release v2.0.3
Full Changelog: 2.0.2...2.0.3
Release v2.0.2
Full Changelog: 2.0.1...2.0.2
Release v2.0.1
Full Changelog: 2.0.0...2.0.1
Release v2.0.0
Full Changelog: 1.1.8...2.0.0
Release v1.1.8
What's Changed
- DEVELOP :: Fixing naming new module got error by @amirisback in #39
Full Changelog: 1.1.7...1.1.8
Release v1.1.7
What's Changed
- DEVELOP :: Renaming module name, tidy up code by @amirisback in #37
Full Changelog: 1.1.6...1.1.7
Release v1.1.6
About This Project (release 👷🔧️👷♀️⛏)
- UI Kit for helping you in apps development
- Avaiable for android and desktop
- Follow-up project from frogo-ui-kit
- Privacy Policy Click Here
- License Click Here
Screen Shoot
UI KIT LIST | UI KIT GRID |
---|---|
Version Release
This Is Latest Release
$version_release = 1.1.6
What's New??
* Avaiable For Android And Desktop *
Include Library
No. | Library Name | Docs |
---|---|---|
1. | FrogoAnimation | Click Here |
2. | FrogoLoadingIndicatorView | Click Here |
Download this project
Step 1. Add the JitPack repository to your build file (build.gradle : Project)
<Option 1> Groovy Gradle
// Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
<Option 2> Kotlin DSL Gradle
// Add it in your root build.gradle.kts at the end of repositories:
allprojects {
repositories {
...
maven("https://jitpack.io")
}
}
Step 2. Add the dependency (build.gradle : Module)
<Option 1> Groovy Gradle
dependencies {
// library frogo-ui
implementation 'com.github.frogobox:frogo-ui:1.1.6'
}
<Option 2> Kotlin DSL Gradle
dependencies {
// library frogo-ui
implementation("com.github.frogobox:frogo-ui:1.1.6")
}
Documentation
- Layouts
- RecyclerView List Click Here
- RecyclerView Grid Click Here
- Drawables Click Here
- Dimens Click Here
- Colors Click Here
- Strings Click Here
- Styles Click Here
FrogoAnimation
Easy Use Animation
FrogoAnimation().apply {
setAnimation(Bounce.In(binding.TextView))
setDuration(1500)
}.start()
Repeated Infinite
FrogoAnimation().apply {
setAnimation(Attention.Ruberband(binding.TextView))
setRepeated()
setDuration(1500)
}.start()
Repeated Count
FrogoAnimation().apply {
setAnimation(Attention.Ruberband(binding.TextView))
setRepeated(20)
setDuration(1500)
}.start()
Animations
To animate the view, add the class name and specific animation method namesetAnimation
to an view. You can include the method setDuration
to specify duration of animation. Default value for duration
is 1000 Milliseconds
. Finally you need to add one of the following classes to the view:
Class Name | ||||||
---|---|---|---|---|---|---|
Attention |
Bounce |
Fade |
Flip |
Rotate |
Slide |
Zoom |
Attention
Attention |
|||
---|---|---|---|
Bounce |
Flash |
||
Pulse |
Ruberband |
||
Shake |
Standup |
||
Swing |
Tada |
||
Wave |
Wobble |
Bounce
Bounce |
|||
---|---|---|---|
InDown |
InUp |
||
InLeft |
InRight |
||
In |
Fade
Fade |
|||
---|---|---|---|
InDown |
InUp |
||
InLeft |
InRight |
||
OutDown |
OutUp |
||
OutLeft |
OutRight |
||
In |
Out |
Flip
Flip |
|||
---|---|---|---|
InX |
InY |
<img width="200" alt="portfolio_view" src="https://gayanvoice.github.io/android-an... |
Release v1.1.5
About This Project (release 👷🔧️👷♀️⛏)
- SDK for anything your problem to make easier developing android apps
- Available for android and desktop
- Privacy Policy Click Here
- License Click Here
ScreenShoot
SS 1 | SS 2 | SS 3 | SS 4 |
---|---|---|---|
Version Release
This Is Latest Release
$version_release = 2.1.7
What's New??
* SDK Android and Desktop *
* Update latest version library *
Download this project
Step 1. Add the JitPack repository to your build file (build.gradle : Project)
<Option 1> Groovy Gradle
// Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
<Option 2> Kotlin DSL Gradle
// Add it in your root build.gradle.kts at the end of repositories:
allprojects {
repositories {
...
maven("https://jitpack.io")
}
}
Step 2. Add the dependency (build.gradle : Module)
#### <Option 1> Groovy Gradle
dependencies {
// library frogo-sdk
implementation 'com.github.frogobox:frogo-sdk:2.1.7'
// library frogo-sdk for desktop
implementation 'com.github.frogobox.frogo-sdk:frogocoresdk:2.1.7'
}
#### <Option 2> Kotlin DSL Gradle
dependencies {
// library frogo-sdk
implementation("com.github.frogobox:frogo-sdk:2.1.7")
// library frogo-sdk for desktop
implementation("com.github.frogobox.frogo-sdk:frogocoresdk:2.1.7")
}
Step 3. Function from this SDK
All Class SDK (android)
FrogoActivity
FrogoApplication
FrogoComposeActivity
FrogoFragment
FrogoFunc
FrogoMusic
FrogoMutableLiveData
FrogoNavigation
FrogoPagerHelper
FrogoPiracyActivity
FrogoPreference
FrogoSinglePreference
FrogoViewModel
All Class SDK (desktop & android)
FrogoApiClient
FrogoApiModel
FrogoApiObserver
FrogoConstant
FrogoDataResponse
FrogoDate
FrogoLocalObserver
FrogoStateResponse
IFrogoDate
FrogoActivity
fun setupDetailActivity(title: String)
fun setupChildFragment(frameId: Int, fragment: Fragment)
fun showToast(message: String)
fun setupEmptyView(view: View, isEmpty: Boolean)
fun setupProgressView(view: View, isProgress: Boolean)
fun checkExtra(extraKey: String): Boolean
fun <Model> FrogoFragmentNewInstance(
fragment: FrogoFragment<*>,
argumentKey: String,
extraDataResult: Model
)
fun isNetworkConnected(): Boolean
fun setupFullScreen()
fun setupHideSystemUI()
fun shareApp(packageName: String, appName: String)
fun rateApp(packageName: String)
FrogoFragment
fun setupChildFragment(frameId: Int, fragment: Fragment)
fun checkArgument(argsKey: String): Boolean
fun setupEmptyView(view: View, isEmpty: Boolean)
fun setupProgressView(view: View, isProgress: Boolean)
fun showToast(message: String)
fun <Model> frogoNewInstance(argsKey: String, data: Model)
Ext Function
FrogoRetrofitExt.kt
// Single Api Request
fun <T : Any> Call<T>.doApiRequest(callback: FrogoDataResponse<T>) {
callback.onShowProgress()
enqueue(object : Callback<T> {
override fun onResponse(call: Call<T>, response: Response<T>) {
response.body()?.let { callback.onSuccess(it) }
callback.onHideProgress()
}
override fun onFailure(call: Call<T>, t: Throwable) {
callback.onFailed(500, t.localizedMessage)
callback.onHideProgress()
}
})
}
FrogoRxJavaObservableExt.kt
// Single Api Request with scheduler
fun <T : Any> Observable<T>.doApiRequest(scheduler: Scheduler, callback: FrogoDataResponse<T>) {
subscribeOn(Schedulers.io())
.doOnSubscribe { callback.onShowProgress() }
.doAfterTerminate { callback.onHideProgress() }
.observeOn(scheduler)
.subscribe(object : FrogoApiObserver<T>() {
override fun onSuccess(data: T) {
callback.onSuccess(data)
}
override fun onFailure(code: Int, errorMessage: String) {
callback.onFailed(code, errorMessage)
}
})
}
// -------------------------------------------------------------------------------------------------
// Single Api Request
fun <T : Any> Observable<T>.doApiRequest(callback: FrogoDataResponse<T>) {
doOnSubscribe { callback.onShowProgress() }
.doAfterTerminate { callback.onHideProgress() }
.subscribe(object : FrogoApiObserver<T>() {
override fun onSuccess(data: T) {
callback.onSuccess(data)
}
override fun onFailure(code: Int, errorMessage: String) {
callback.onFailed(code, errorMessage)
}
})
}
FrogoContextActivityExt.kt
inline fun <reified ClassActivity> Context.singleStartActivity() {
FLog.d("Activity : ${ClassActivity::class.java.simpleName}")
startActivity(Intent(this, ClassActivity::class.java))
}
// -------------------------------------------------------------------------------------------------
inline fun <reified ClassActivity, reified Model> Context.singleStartActivity(
extraKey: String,
data: Model
) {
val intent = Intent(this, ClassActivity::class.java)
val extraData = Gson().toJson(data)
intent.putExtra(extraKey, extraData)
FLog.d("Activity : ${ClassActivity::class.java.simpleName}")
FLog.d("Data : Extra Data (${Model::class.java.simpleName}) : $extraData")
startActivity(intent)
}
// -------------------------------------------------------------------------------------------------
inline fun <reified Model> Activity.singleGetExtraData(extraKey: String): Model {
val extraIntent = intent.getStringExtra(extraKey)
return Gson().fromJson(extraIntent, Model::class.java)
}
// -------------------------------------------------------------------------------------------------
fun Context.singleStartActivityShareApp(subject: String, text: String) {
val intent = Intent(Intent.ACTION_SEND)
intent.type = "text/plain"
intent.putExtra(Intent.EXTRA_SUBJECT, subject)
intent.putExtra(Intent.EXTRA_TEXT, text)
FLog.d("$TAG : Subject Share App : $subject")
FLog.d("$TAG : Message Share App : $text")
startActivity(Intent.createChooser(intent, subject))
}
// -------------------------------------------------------------------------------------------------
fun Context.singleStartActivityOpenApp(url: String) {
FLog.d("$TAG : Url : $url")
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
}
FrogoContextFragmentExt.kt
fun <Model> Fragment.singleNewInstance(argsKey: String, data: Model) {
val argsData = Gson().toJson(data)
val bundleArgs = Bundle().apply {
putString(argsKey, argsData)
}
this.arguments = bundleArgs
}
// -------------------------------------------------------------------------------------------------
inline fun <reified Model> Fragment.singleGetInstance(argsKey: String): Model {
val argsData = this.arguments?.getString(argsKey)
return Gson().fromJson(argsData, Model::class.java)
}
FrogoImageViewExt.kt
fun ImageView.glideLoad(data: Any?) {
FLog.d("$TAG : Params : $data")
FLog.d("$TAG : Glide Load Ext")
Glide.with(context).load(data).into(this)
}
FrogoViewExt.kt
fun View.visible() {
FLog.d("$TAG : View Visible")
visibility = View.VISIBLE
}
// -------------------------------------------------------------------------------------------------
fun View.gone() {
FLog.d("$TAG : View Gone")
visibility = View.GONE
}
// -------------------------------------------------------------------------------------------------
fun View.invisible() {
FLog.d("$TAG : View Invisible")
visibility = View.INVISIBLE
}
// -------------------------------------------------------------------------------------------------
fun View.progressViewHandle(isProgressState: Boolean) {
FLog.d("$TAG : isProgressState >> $isProgressState")
if (isProgressState) {
visible()
} else {
gone()
}
}
// --------------------------------------...
Release v1.1.4
About This Project (release 👷🔧️👷♀️⛏)
- UI Kit for helping you in apps development
- Avaiable for android and desktop
- Follow-up project from frogo-ui-kit
- Privacy Policy Click Here
- License Click Here
Screen Shoot
UI KIT LIST | UI KIT GRID |
---|---|
Version Release
This Is Latest Release
$version_release = 1.1.4
What's New??
* Avaiable For Android And Desktop *
Include Library
No. | Library Name | Docs |
---|---|---|
1. | FrogoAnimation | Click Here |
2. | FrogoLoadingIndicatorView | Click Here |
Download this project
Step 1. Add the JitPack repository to your build file (build.gradle : Project)
<Option 1> Groovy Gradle
// Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
<Option 2> Kotlin DSL Gradle
// Add it in your root build.gradle.kts at the end of repositories:
allprojects {
repositories {
...
maven("https://jitpack.io")
}
}
Step 2. Add the dependency (build.gradle : Module)
<Option 1> Groovy Gradle
dependencies {
// library frogo-ui
implementation 'com.github.frogobox:frogo-ui:1.1.4'
}
<Option 2> Kotlin DSL Gradle
dependencies {
// library frogo-ui
implementation("com.github.frogobox:frogo-ui:1.1.4")
}
Documentation
- Layouts
- RecyclerView List Click Here
- RecyclerView Grid Click Here
- Drawables Click Here
- Dimens Click Here
- Colors Click Here
- Strings Click Here
- Styles Click Here
FrogoAnimation
Easy Use Animation
FrogoAnimation().apply {
setAnimation(Bounce.In(binding.TextView))
setDuration(1500)
}.start()
Repeated Infinite
FrogoAnimation().apply {
setAnimation(Attention.Ruberband(binding.TextView))
setRepeated()
setDuration(1500)
}.start()
Repeated Count
FrogoAnimation().apply {
setAnimation(Attention.Ruberband(binding.TextView))
setRepeated(20)
setDuration(1500)
}.start()
Animations
To animate the view, add the class name and specific animation method namesetAnimation
to an view. You can include the method setDuration
to specify duration of animation. Default value for duration
is 1000 Milliseconds
. Finally you need to add one of the following classes to the view:
Class Name | ||||||
---|---|---|---|---|---|---|
Attention |
Bounce |
Fade |
Flip |
Rotate |
Slide |
Zoom |
Attention
Attention |
|||
---|---|---|---|
Bounce |
Flash |
||
Pulse |
Ruberband |
||
Shake |
Standup |
||
Swing |
Tada |
||
Wave |
Wobble |
Bounce
Bounce |
|||
---|---|---|---|
InDown |
InUp |
||
InLeft |
InRight |
||
In |
Fade
Fade |
|||
---|---|---|---|
InDown |
InUp |
||
InLeft |
InRight |
||
OutDown |
OutUp |
||
OutLeft |
OutRight |
||
In |
Out |
Flip
Flip |
|||
---|---|---|---|
InX |
InY |
<img width="200" alt="portfolio_view" src="https://gayanvoice.github.io/android-an... |