Skip to content

Adapter for managing a single webview by bottom navigation.

License

Notifications You must be signed in to change notification settings

kibotu/WebViewAdapter

Repository files navigation

Donation About Jan Rabe

WebViewAdapter Javadoc Build Status API Gradle Version Kotlin GitHub license androidx

ActionBar like usability for a webview. Also modular handling of uri event handler.

How to install

repositories {
    maven {
        url "https://jitpack.io"
    }
}

dependencies {

    implementation 'com.github.kibotu:WebViewAdapter:-SNAPSHOT'
}

How to use

1 prepare layout

<androidx.constraintlayout.widget.ConstraintLayout>
    <WebView/>
    <com.google.android.material.tabs.TabLayout/>
</androidx.constraintlayout.widget.ConstraintLayout>

2 add adapter pages

 adapter = WebViewPageAdapter(webView, tabLayout)

 adapter.add(Tab("https://github.com/kibotu/RecyclerViewPresenter", R.string.tab_1, R.drawable.ic_edit_black_24dp, R.color.inactiveColorTint, R.color.colorPrimary))
 adapter.add(Tab("https://github.com/kibotu/Heart-Rate-Ometer", R.string.tab_2, R.drawable.ic_edit_black_24dp, R.color.inactiveColorTint, R.color.colorPrimary))
 adapter.add(Tab("https://github.com/kibotu/Android-PGP", R.string.tab_3, R.drawable.ic_edit_black_24dp, R.color.inactiveColorTint, R.color.colorPrimary))
 adapter.add(Tab("https://github.com/kibotu/StreamingAndroidLogger", R.string.tab_4, R.drawable.ic_edit_black_24dp, R.color.inactiveColorTint, R.color.colorPrimary))
 adapter.add(Tab("https://github.com/kibotu/KalmanRx", R.string.tab_5, R.drawable.ic_edit_black_24dp, R.color.inactiveColorTint, R.color.colorPrimary))

 adapter.notifyDataSetChanged()

3 load intial url

adapter.selectCurrentItem(0)

(optional) add onLoading Url callback

adapter.onLoadUrl = { logv("onLoading $it") }

4 profit :)

License

Copyright 2019 Jan Rabe

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.