Pages

Showing posts with label animated. Show all posts
Showing posts with label animated. Show all posts

Friday, May 6, 2016

Install Android Studio on Ubuntu 15 10 using ubuntu developer tools center


remark:
ubuntu-developer-tools-center is now named Ubuntu Make officially.
Please check the updated "Install Android Studio on 64-bit Ubuntu-GNOME 15.10 with Ubuntu Make".



To install Android Studio on Ubuntu 15.10 using ubuntu-developer-tools-center
- install java (refer "Install Oracle java8 on Ubuntu 15.10 via PPA")
- Enter the command in Terminal:
$ sudo apt-get install ubuntu-developer-tools-center
$ udtc android

This video show installing Android Studio on 64-bit Ubuntu 15.10 (run in VirtualBox) using ubuntu-developer-tools-center.

Read More..

Saturday, April 30, 2016

Animated GIF Androidify for 3D Hologram viewer


Last post I tried to generate interactive animation using ObjectAnimator, to simulate 3D Hologram effect. This post I create Custom View to display animated GIF of Androidify, to simulate the effect.


The animated GIFs of Androidify are create using Googles Androidify App.  Then I have to edit the animated GIFs to resize it to 200x200, and change the background to black using GIMP. Then copy the files to drawable folder in Android Studio project.

Create a custom view, GifView, to handle the animated GIF. If you are looking for display animated GIF, refer "Play animated GIF using android.graphics.Movie, with Movie.decodeStream(InputStream)". In this version, I have to handle src attribute from xml, such that I can display four GifView of different source.

GifView .java
package com.blogspot.android_er.androidmirror;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.util.AttributeSet;
import android.view.View;

import java.io.InputStream;

public class GifView extends View {

private InputStream gifInputStream;
private Movie gifMovie;
private int movieWidth, movieHeight;
private long movieDuration;
private long mMovieStart;

public GifView(Context context) {
super(context);
init(context, null);
}

public GifView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}

public GifView(Context context, AttributeSet attrs,
int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs);
}

private void init(Context context, AttributeSet attrs){
setFocusable(true);

//Handle src attribute from xml
if(attrs == null){
gifInputStream = context.getResources().openRawResource(R.drawable.androidify1b);
}else{
int src_id = attrs.getAttributeResourceValue(
"http://schemas.android.com/apk/res/android",
"src",
R.drawable.androidify1b);
gifInputStream = context.getResources().openRawResource(src_id);
}

gifMovie = Movie.decodeStream(gifInputStream);
movieWidth = gifMovie.width();
movieHeight = gifMovie.height();
movieDuration = gifMovie.duration();
}

@Override
protected void onMeasure(int widthMeasureSpec,
int heightMeasureSpec) {
setMeasuredDimension(movieWidth, movieHeight);
}

public int getMovieWidth(){
return movieWidth;
}

public int getMovieHeight(){
return movieHeight;
}

public long getMovieDuration(){
return movieDuration;
}

@Override
protected void onDraw(Canvas canvas) {

long now = android.os.SystemClock.uptimeMillis();
if (mMovieStart == 0) { // first time
mMovieStart = now;
}

if (gifMovie != null) {

int dur = gifMovie.duration();
if (dur == 0) {
dur = 1000;
}

int relTime = (int)((now - mMovieStart) % dur);

gifMovie.setTime(relTime);

gifMovie.draw(canvas, 0, 0);
invalidate();

}

}
}


layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout


android_layout_width="match_parent"
android_layout_height="match_parent"
android_padding="16dp"
android_background="@android:color/black"
tools_context=".MainActivity">

<TextView
android_layout_width="wrap_content"
android_layout_height="wrap_content"
android_autoLink="web"
android_text="http://android-er.blogspot.com/"
android_textStyle="bold"
android_layout_alignParentTop="true"/>

<GridLayout
android_layout_width="wrap_content"
android_layout_height="wrap_content"
android_columnCount="3"
android_layout_centerInParent="true">
<ImageView
android_layout_width="wrap_content"
android_layout_height="wrap_content"/>
<com.blogspot.android_er.androidmirror.GifView
android_id="@+id/image2"
android_layout_width="wrap_content"
android_layout_height="wrap_content"
android_src="@drawable/androidify1b"
android_layout_gravity="center"/>
<ImageView
android_layout_width="wrap_content"
android_layout_height="wrap_content"/>
<com.blogspot.android_er.androidmirror.GifView
android_id="@+id/image4"
android_layout_width="wrap_content"
android_layout_height="wrap_content"
android_src="@drawable/androidify2b"
android_layout_gravity="center"
android_rotation="270"/>
<ImageView
android_layout_width="20mm"
android_layout_height="20mm"/>
<com.blogspot.android_er.androidmirror.GifView
android_id="@+id/image6"
android_layout_width="wrap_content"
android_layout_height="wrap_content"
android_src="@drawable/androidify3b"
android_layout_gravity="center"
android_rotation="90"/>
<ImageView
android_layout_width="wrap_content"
android_layout_height="wrap_content"/>
<com.blogspot.android_er.androidmirror.GifView
android_id="@+id/image8"
android_layout_width="wrap_content"
android_layout_height="wrap_content"
android_src="@drawable/androidify4b"
android_layout_gravity="center"
android_rotation="180"/>
<ImageView
android_layout_width="wrap_content"
android_layout_height="wrap_content"/>

</GridLayout>
</RelativeLayout>


Edit AndroidManifest.xml to disable hardwareAccelerated by setting it false.
<?xml version="1.0" encoding="utf-8"?>
<manifest
package="com.blogspot.android_er.androidmirror" >

<application
android_allowBackup="true"
android_icon="@mipmap/ic_launcher"
android_label="@string/app_name"
android_supportsRtl="true"
android_theme="@style/AppTheme" >
<activity android_name=".MainActivity"
android_hardwareAccelerated="false">
<intent-filter>
<action android_name="android.intent.action.MAIN" />

<category android_name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


Nothing do on MainActivity.java
package com.blogspot.android_er.androidmirror;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

}



download filesDownload the files (Android Studio Format) .

download filesDownload APK .


If you have a DIY 3D Hologram Projector, you can view the test view at YouTube.

Read More..

Friday, April 22, 2016

Animated Photo Frame Widget v4 7 1 Full


? Pro version features
? Slideshow interval can be chosen.
? One click shuffle all your photos.
? 4 in 1 photo frame widget.
? Future update functions and more than 30 kinds of different design photo frame.
? New rich design sense of the time panel. (Show/Hide)
? 10 kinds of rich design sense fonts.
? Simultaneously select multiple albums playback.
? Gallery Click Function.
? No ads.
? The most gorgeous, the most powerful photo slideshow widget.
? The best Photo Widget with lots of elegant photo frames on Google Play.
Animated Photo Frame Widget + can help you to create your own unique photo widget.
It differs from other photo widgets and offers up to 30 picture frames and 7 transition modes during slideshow process.

It can enhance the diversity of your desktop and make your album choosing more conveniently by its photo selector.
?Main Features of Animated Photo Frame Widget + ?
? ?Smooth in passing to next slide with wonderful transition effects? : 
7 options available
No Animation, Fade in/out, slide, scale, rotate, page down, page turning
? ?Zooms in and out without damaging the image quality?: 
Any size can be supported by Animated Photo Frame Widget.
Free adjustment and place of your frame Personalization (2*2 minimum , no restriction on maximum )
? ?Quick speed on selecting the whole album or photos? : 
No need to assign specific path/route or to select photos by other tools.
Built-in album selector can list all of your photos in an easy way.
? ?Considerate power-saving design? : 
It would automatically stop updating when you close the screen without consuming the electricity of device.
It will automatically launch update function when you open the screen.
After comparison test of all photo widgets on Google Play.
Animated Photo Frame Widget + is the most energy-efficient photo widget.
So dont worry about it.
? ?Console panel? :
Easily stop the auto-play function anytime and skim photos manually by widget.
? ?Random play / Shuffle? : 
You can play any album in shuffle or directly play all photos saved in the device.
? ?Independent Widget? :
You can place some widgets on the desktop. Each of them works independently.
? ?Image Observer? :
You can edit/crop?add or delete photos in albums, image observer will auto rescan the photo list.
?Attentions?
After install app, you must start with few steps.
(It doesn’t exist in app list.)
Home -> Widget -> Animated Photo Frame Widget + -> Drag it to home
Or
Long click home -> Widget -> Animated Photo Frame Widget + -> Drag it to home
Notice ! It will check google play license at first start, 
make sure your network connection is on.
?Google Play License Issue?
If can not pass the License Checker please follow these steps.
Settings ? Apps ? Google Play Store ? Clear data
?Technical info?
We recommend installing Android OS 3.0 or higher
Thanks for reading and we hope you enjoy Your Animated Photo Frame Widget +.

Whats New
If widget have any problems after update, please try to re-install again.
It may be the Google play update problems.
HTC Sense UI 4+ launcher do not support animated transitions. Install other launchers to instead
V 4.7.1 :
1. Change gray background theme.
2. Improve widget performance.
V 4.7.0 :
1. Widget can save photo position now, you can pause photo anywhere.
2. New settings transition animation.


Read Here: How to Install APK

Requirements: Android 3.0+
File Size: 12 MB
Download Link: Mediafire.com
Read More..

Sunday, February 14, 2016

CoPilot Live Premium USA v9 4 0 144 Full


???? You drive, well guide. ???? Get accurate voice-guided, turn-by-turn directions everywhere you go. CoPilot stores up-to-date maps directly on your device so no internet connection is needed to navigate!
CoPilot even includes 1 year of ActiveTraffic™ service for free!
???? "The best blend of features, performance and cost" – Engadget
???? "A HUGE advantage over Google Maps navigation" – Phandroid

? TOP REASONS YOU NEED A COPILOT
? Offline navigation. Maps are stored on-board your device so no mobile data connection is needed to navigate 
? 1 year of real-time traffic service is included for FREE so youll always have the fastest route through traffic jams
? Map updates are FREE! Full quarterly updates and frequent map improvement updates are included at no charge 
? Lane indicator arrows, highway exit sign info and realistic ClearTurn™ view make highway exits and interchanges simple
? Full turn-by-turn guidance and clear pronunciation with the latest Text-to-Speech voice technology 
? Powerful pre-trip planning and route calculator gives you a choice of three routes to take
? Navigate directly to a house number or address book contact 
? Lifetime use: pay once, get a CoPilot GPS for life!
? PREMIUM OFFLINE MAPS WITH FREE UPDATE
? Complete map of USA stored on your phone, so you can navigate without a mobile signal or using up your data plan 
? ALK MapSure™ service provides free in-app map improvements and full quarterly maps updates

? THE SAFEST GPS ON THE ROAD 
? Unique directions-only mode 
? Automatic day-night mode switching 
? Speed limit warnings on primary highways
? ACTIVETRAFFIC AUTOMATICALLY AVOID DELAYS 
? 12 months free ActiveTraffic included as standard! 
? Provides the fastest route based on real-time INRIX traffic information
? Automatically calculates a quicker route if a significant delay is detected 
? Displays traffic incident details along your route
? LOCAL KNOWLEDGE, EVERYWHERE 
? Integrated Wikipedia, Yelp and Google™ Local Search 
? Walking mode 
? Over 7 million offline POIs (Points of Interest)
? Local weather forecasts

? PLUS ALL THE FEATURES YOU EXPECT FROM A PREMIUM GPS APP 
3D and 2D map views – trip status display - instant detour –favorite and recent destinations – personal routing options – avoid toll roads – Twitter and Facebook status updates – find my car – local weather information - and much more!

Whats New
• Completely refreshed and restyled user interface
• New motion lock safety feature to disable map interaction at a specified speed for improved hands free driving
• Two striking new map styles you just can’t miss
• Improved POI search to find places near your destination more easily
• Highway exit numbers are now shown on the map to make it even easier to get your bearings
• Questions about CoPilot? Tap MyCoPilot > Help & Feedback


Read Here: How to Install APK

Requirements: Varies with Device
File Size: 22.11 MB
Download Link: Mediafire.com
Read More..