Skip to content

Releases: frogobox/frogo-ui

Release v2.0.5

04 Sep 09:15
Compare
Choose a tag to compare

Release v2.0.3

26 Apr 09:23
Compare
Choose a tag to compare

Release v2.0.2

02 Apr 08:40
Compare
Choose a tag to compare

Release v2.0.1

15 Dec 12:42
Compare
Choose a tag to compare

Release v2.0.0

29 Oct 14:33
Compare
Choose a tag to compare

Release v1.1.8

17 Jun 12:13
a39f280
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.1.7...1.1.8

Release v1.1.7

17 Jun 11:03
0c71005
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.1.6...1.1.7

Release v1.1.6

26 May 10:23
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project (release 👷🔧️👷‍♀️⛏)


Android CI
Scan with Detekt
pages-build-deployment

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

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 portfolio_view Flash portfolio_view
Pulse portfolio_view Ruberband portfolio_view
Shake portfolio_view Standup portfolio_view
Swing portfolio_view Tada portfolio_view
Wave portfolio_view Wobble portfolio_view

Bounce

Bounce
InDown portfolio_view InUp portfolio_view
InLeft portfolio_view InRight portfolio_view
In portfolio_view

Fade

Fade
InDown portfolio_view InUp portfolio_view
InLeft portfolio_view InRight portfolio_view
OutDown portfolio_view OutUp portfolio_view
OutLeft portfolio_view OutRight portfolio_view
In portfolio_view Out portfolio_view

Flip

Flip
InX portfolio_view InY <img width="200" alt="portfolio_view" src="https://gayanvoice.github.io/android-an...
Read more

Release v1.1.5

19 Apr 09:27
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project (release 👷🔧️👷‍♀️⛏)


Android CI
Scan with Detekt
pages-build-deployment

  • 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()
    }
}

// --------------------------------------...
Read more

Release v1.1.4

03 Apr 14:25
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project (release 👷🔧️👷‍♀️⛏)


Android CI
Scan with Detekt
pages-build-deployment

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

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 portfolio_view Flash portfolio_view
Pulse portfolio_view Ruberband portfolio_view
Shake portfolio_view Standup portfolio_view
Swing portfolio_view Tada portfolio_view
Wave portfolio_view Wobble portfolio_view

Bounce

Bounce
InDown portfolio_view InUp portfolio_view
InLeft portfolio_view InRight portfolio_view
In portfolio_view

Fade

Fade
InDown portfolio_view InUp portfolio_view
InLeft portfolio_view InRight portfolio_view
OutDown portfolio_view OutUp portfolio_view
OutLeft portfolio_view OutRight portfolio_view
In portfolio_view Out portfolio_view

Flip

Flip
InX portfolio_view InY <img width="200" alt="portfolio_view" src="https://gayanvoice.github.io/android-an...
Read more