chromeview alternatives and similar packages
Based on the "Other Widget" category.
Alternatively, view chromeview alternatives based on common mentions on social networks and blogs.
-
AndroidSlidingUpPanel
This library provides a simple way to add a draggable sliding up panel (popularized by Google Music and Google Maps) to your Android application. Brought to you by Umano. -
BottomBar
(Deprecated) A custom view component that mimics the new Material Design Bottom Navigation pattern. -
ShortcutBadger
An Android library supports badge notification like iOS in Samsung, LG, Sony and HTC launchers. -
SystemBarTint
[DEPRECATED] Apply background tinting to the Android system UI when using KitKat translucent modes -
TapTargetView
An implementation of tap targets from the Material Design guidelines for feature discovery. -
android-viewbadger
[DEPRECATED] A simple way to "badge" any given Android view at runtime without having to cater for it in layout -
android-iconify
Android integration of multiple icon providers such as FontAwesome, Entypo, Typicons,... -
android-stackblur
Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann. -
DraggablePanel
DISCONTINUED. Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component. -
aFileChooser
DISCONTINUED. [DEPRECATED] Android library that provides a file explorer to let users select files on external storage. -
Swipecards
A Tinder-like Android library to create the swipe cards effect. You can swipe left or right to like or dislike the content. -
TourGuide
TourGuide is an Android library that aims to provide an easy way to add pointers with animations over a desired Android View -
StickyGridHeaders
DISCONTINUED. An Android Library that makes it easy to make grid views with sectioned data and headers that stick to the top. -
FloatingView
FloatingView can make the target view floating above the anchor view with cool animation -
TileView
TileView is a subclass of android.view.ViewGroup that asynchronously displays, pans and zooms tile-based images. Plugins are available for features like markers, hotspots, and path drawing. -
Bubbles for Android
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development. -
Android-ActionItemBadge
This library offers a simple method to add a small badge icon to your ActionBar-MenuItem -
RippleView
View that imitates Ripple Effect on click which was introduced in Android L (for Android 2.3+) -
android-sliding-layer-lib
DISCONTINUED. Highly customizable SlidingLayer as you have seen in Wunderlist -
SortableTableView
An Android library containing a simple TableView and an advanced SortableTableView providing a lot of customisation possibilities to fit all needs. -
ScratchView
ScratchView repo is UX Design involving scratch cards like views which are scratched to reveal the information they conceal. -
android-FlipView
A small, easy to use android library for implementing flipping between views as seen in the popular Flipboard application
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of chromeview or a related project?
README
Deprecation Notice
This project is un-maintained. The recommended alternative is the Crosswalk Project.
I did not have the time to keep the project up to date. In the mean time, the fine folks at Intel did a great job of embedding Chromium using the Content Shell API, which is what Chromium's developers intended. Therefore, I cannot justify spending any time on this. The original README and the code are here for historical purposes.
I think that the Crosswalk Project will meet all your embedding needs, and I'm contributing to it.
ChromeView
ChormeView works like Android's WebView, but is backed by the latest Chromium code.
Why ChromeView
ChromeView lets you ship your own Chromium code, instead of using whatever version comes with your user's Android image. This gives your application early access to the newest features in Chromium, and removes the variability due to different WebView implementations in different versions of Android.
Setting Up
This section explains how to set up your Android project to use ChromeView.
Get the Code
Check out the repository in your Eclipse workspace, and make your project use
ChromeView as a library. In Eclipse, right-click your project directory, select
Properties
, choose the Android
category, and click on the Add
button in
the Library section
.
Copy Data
Copy assets/webviewchromium.pak
to your project's assets
directory.
Star this bug if
you agree that this is annoying.
In your Application
subclass, call ChromeView.initialize
and pass it the
application's context. For example,
Initialize Chromium
import us.costan.chrome.ChromeView;
import android.app.Application;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ChromeView.initialize(this);
}
}
Now you can use ChromeView in the same contexts as you would use WebView.
Star some bugs
If you use this project and want to help move it along, please star the following bugs.
Usage
To access ChromeView in the graphical layout editor, go to the Palette
,
expand the Custom and Library Views
section, and click the Refresh
button.
ChromeView supports most of the WebView methods. For example,
ChromeView chromeView = (ChromeView)findViewById(R.id.gameUiView);
chromeView.getSettings().setJavaScriptEnabled(true);
chromeView.loadUrl("http://www.google.com");
JavaScript
ChromeView's addJavaScriptInterface
exposes public methods that are annotated
with @ChromeJavascriptInterface
. This is because WebView's
@JavascriptInterface
is only available on Android 4.2 and above, but
ChromeView targets 4.0 and 4.1 as well.
import us.costan.chrome.ChromeJavascriptInterface;
public class JsBindings {
@ChromeJavascriptInterface
public String getHello() {
return "Hello world";
}
}
chromeView.addJavascriptInterface(new JsBindings(), "AndroidBindings");
Cookies
ChromeCookieManager is ChromeView's equivalent of CookieManager.
ChromeCookieManager.getInstance().getCookie("https://www.google.com");
Faster Development
To speed up the application launch on real devices, remove the libs/x86
directory. When developing on Atom devices, remove the ARM directory instead.
Remember to git checkout -- .
and get the library back before building a
release APK.
Internet Access
If your application manifest doesn't specify the INTERNET permission, the Chromium code behind ChromeView silentely blocks all network requests. This is mentioned here because it can be hard to debug.
Building
The bulk of this project is Chromium source code and build products. With the appropriate infrastructure, the Chromium bits can be easily updated.
[crbuild/vm-build.md](crbuild/vm-build.md) contains step-by-step instructions for setting up a VM and building the Chromium for Android components used by ChromeView.
Once Chromium has been successfully built, running [crbuild/update.sh](crbuild/update.sh) will copy the relevant bits from the build VM into the ChromeView source tree.
Issues
Attempting to scroll the view (by swiping a finger across the screen) does not update the displayed image. However, internally, the view is scrolled. This can be seen by displaying a stack of buttons and trying to click on the topmost one. This issue makes ChromeView mostly unusable in production.
The core issue is that the integration is done via AwContent
in the
android_webview
directory of the Chromium source tree, which is experimental
and not intended for embedding use. The "right" way of doing this is to embed
a ContentView
from the content
directory, or a Shell
in content/shell
.
Unfortunately, these components' APIs don't match WebView nearly as well as
AwContent, and they're much harder to integrate. Pull requests or a fork would
be welcome.
This repository is rebased often, because the large files in lib/
would
result in a huge repository if new commits were created for each build. The
large files are Chromium build products.
Contributing
Please don't hesitate to send your Pull Requests!
Please don't send pull requests including the binary assets or code extracted
from Android (assets/
, libs/
, src/com/googlecode/
and src/org/android
).
If your Pull Request requires updated Android bits, mention that in the PR
description, and I will rebuild the Android bits.
Copyright and License
The directories below contain code from the The Chromium Project, which is subject to the copyright and license on the project site.
assets/
libs/
src/com/googlecode
src/org/chromium
Some of the source code in src/us/costan/chrome
has been derived from the
Android source code, and is therefore covered by the
Android project licenses.
The rest of the code is Copyright 2013, Victor Costan, and available under the MIT license.
*Note that all licence references and agreements mentioned in the chromeview README section above
are relevant to that project's source code only.