Repository: torryharris/Skycons Branch: master Commit: 8d69ad6d189e Files: 70 Total size: 151.0 KB Directory structure: gitextract_79fkheb0/ ├── .gitignore ├── README.md └── Skycons/ ├── .gitignore ├── SkyconDemo/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── thbs/ │ │ └── com/ │ │ └── skycons/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── thbs/ │ │ └── skycons/ │ │ ├── CloudActivity.java │ │ ├── CloudFogActivity.java │ │ ├── CloudHvRainActivity.java │ │ ├── CloudMoonActivity.java │ │ ├── CloudRainActivity.java │ │ ├── CloudSnowActivity.java │ │ ├── CloudSunActivity.java │ │ ├── MainActivity.java │ │ ├── MoonActivity.java │ │ ├── SunActivity.java │ │ ├── ThunderActivity.java │ │ ├── ViewAllActivity.java │ │ └── WindActivity.java │ └── res/ │ ├── layout/ │ │ ├── activity_main.xml │ │ ├── all_views.xml │ │ ├── cloud.xml │ │ ├── cloud_fog.xml │ │ ├── cloud_hvrain.xml │ │ ├── cloud_moon.xml │ │ ├── cloud_rain.xml │ │ ├── cloud_snow.xml │ │ ├── cloud_sun.xml │ │ ├── moon.xml │ │ ├── sun.xml │ │ ├── thunder.xml │ │ └── wind.xml │ ├── menu/ │ │ └── main.xml │ ├── values/ │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── values-w820dp/ │ └── dimens.xml ├── SkyconsLibrary/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── thbs/ │ │ └── skycons/ │ │ └── library/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── thbs/ │ │ └── skycons/ │ │ └── library/ │ │ ├── Cloud.java │ │ ├── CloudFogView.java │ │ ├── CloudHvRainView.java │ │ ├── CloudMoonView.java │ │ ├── CloudRainView.java │ │ ├── CloudSnowView.java │ │ ├── CloudSunView.java │ │ ├── CloudThunderView.java │ │ ├── CloudView.java │ │ ├── MoonView.java │ │ ├── SkyconView.java │ │ ├── SunView.java │ │ └── WindView.java │ └── res/ │ ├── layout/ │ │ └── activity_main.xml │ ├── menu/ │ │ └── main.xml │ ├── values/ │ │ ├── attrs.xml │ │ ├── dimens.xml │ │ └── strings.xml │ └── values-w820dp/ │ └── dimens.xml ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ # new gitignore for android studio projects #built application files *.apk *.ap_ # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ # Local configuration file (sdk path, etc) local.properties # Windows thumbnail db Thumbs.db # OSX files .DS_Store # Eclipse project files .classpath .project # Android Studio .idea .gradle build */build *.iml ================================================ FILE: README.md ================================================ Skycons for Android [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Skycons-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1043) ===================

Skycons

We set out to create a native weather app on Xamarin but we wanted to build something unique to differentiate ourselves amongst the plethora of weather apps avaialble out there. The [DarkSky](http://darkskyapp.com) app & [Forecast](http://forecast.io) did an excellent job with their [Skycons](http://darkskyapp.github.io/skycons/). We wanted to re-use the same icons for our app as well, however, we found that these animated icons don't exist natively on either platforms. This is currently a work-in-progress as the team is finetuning the animation & the performance itself. You can download the complete repository which also contains the sample project SkyconsDemo. *Built with Android Studio (2.2.3)* ## Available Icons | Icon | View | | :------: | :---: | | Cloud | CloudView | | Clear Sky (Sunny) | SunView | | Clear Night | MoonView | | Partly Cloudy Day | CloudSunView | | Partly Cloudy Night | CloudMoonView | | Heavy Showers | CloudHvRainView | | Snow | CloudSnowView | | Light Showers | CloudRainView | | Fog | CloudFogView | | Wind | WindView | | Thunder | CloudThunderView | ## How to use - Deployment target should be API level 14 or above. - Import 'SkyconsLibrary' as a library to your project. ## Adding icons: 1) To add a skycon(icon) through the XML: android:layout_width="250dp" android:layout_height="250dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" app:isStatic = "true" app:strokeColor = "#000000" app:bgColor = "#ffffff"/> where represents the particular view/icon. For example "MoonView" 2) To add a skycon(For instance, WindView) through Java code, perform following in the activity: LinearLayout layout = new LinearLayout(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); layout.setLayoutParams(params); //Using these params, you can control view attributes //attributres include boolean isStatic,boolean isAnimated, int strokeColor , int backgroundColor WindView windView = new WindView(this,true,false, Color.parseColor("#000000"),Color.parseColor("#ffffff")); //Using these params, you can control width & height of the icon params.width = 200; params.height = 200; windView.setLayoutParams(params); layout.addView(windView); this.setContentView(layout); - For a better experience, keep 'layout_width' & 'layout_height' the same. ## Customization: | Options | Value | Description | | :------: | :---: | :----------: | | layout_width | 100dp (recommended min value) | Width of icon | | layout_height | 100dp (recommended min value) | Height of the icon | | isStatic | True / False | Boolean Value to enable on-touch animation | | strokeColor | HEX | Customize the color of the icon | | bgColor | HEX | Customize the background colour | Pull Requests are welcomed. We are looking forward for your suggestions on new icons & animations. ##Demo Get it on Google Play License ======= Skycons for Android is being made available in public domain under similar terms like the [original](https://github.com/darkskyapp/skycons) ================================================ FILE: Skycons/.gitignore ================================================ # new gitignore for android studio projects #built application files *.apk *.ap_ # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ # Local configuration file (sdk path, etc) local.properties # Windows thumbnail db Thumbs.db # OSX files .DS_Store # Eclipse project files .classpath .project # Android Studio .idea .gradle build */build *.iml ================================================ FILE: Skycons/SkyconDemo/.gitignore ================================================ /build ================================================ FILE: Skycons/SkyconDemo/build.gradle ================================================ apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion '25.0.3' defaultConfig { applicationId "com.thbs.skycons" minSdkVersion 14 targetSdkVersion 25 versionCode 1 versionName "1.0" } buildTypes { release { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':SkyconsLibrary') } ================================================ FILE: Skycons/SkyconDemo/proguard-rules.pro ================================================ # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /Applications/Android Studio.app/sdk/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} ================================================ FILE: Skycons/SkyconDemo/src/androidTest/java/thbs/com/skycons/ApplicationTest.java ================================================ package thbs.com.skycons; import android.app.Application; import android.test.ApplicationTestCase; /** * Testing Fundamentals */ public class ApplicationTest extends ApplicationTestCase { public ApplicationTest() { super(Application.class); } } ================================================ FILE: Skycons/SkyconDemo/src/main/AndroidManifest.xml ================================================ ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/CloudActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 10/09/14. */ public class CloudActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cloud); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/CloudFogActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 10/09/14. */ public class CloudFogActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cloud_fog); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/CloudHvRainActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 10/09/14. */ public class CloudHvRainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cloud_hvrain); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/CloudMoonActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 11/09/14. */ public class CloudMoonActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cloud_moon); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/CloudRainActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 10/09/14. */ public class CloudRainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cloud_rain); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/CloudSnowActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 10/09/14. */ public class CloudSnowActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cloud_snow); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/CloudSunActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; public class CloudSunActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cloud_sun); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/MainActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { Button btnViewAll, btnSun, btnCloudSun,btnCloud, btnCloudRain, btnCloudHvRain, btnCloudSnow, btnCloudFog, btnMoon, btnCloudMoon, btnWind, btnThunder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnViewAll = (Button) findViewById(R.id.all); btnSun = (Button) findViewById(R.id.sun); btnCloudSun = (Button) findViewById(R.id.cloud_sun); btnCloud = (Button) findViewById(R.id.cloud); btnCloudRain = (Button) findViewById(R.id.cloud_rain); btnCloudHvRain = (Button) findViewById(R.id.cloud_hvrain); btnCloudSnow = (Button) findViewById(R.id.cloud_snow); btnCloudFog = (Button) findViewById(R.id.cloud_fog); btnMoon = (Button) findViewById(R.id.moon); btnCloudMoon = (Button) findViewById(R.id.cloud_moon); btnWind = (Button) findViewById(R.id.wind); btnThunder = (Button) findViewById(R.id.thunder); btnViewAll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, ViewAllActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnSun.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, SunActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnCloudSun.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, CloudSunActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnCloud.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, CloudActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnCloudRain.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, CloudRainActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnCloudHvRain.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, CloudHvRainActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnCloudSnow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, CloudSnowActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnCloudFog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, CloudFogActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnMoon.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, MoonActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnCloudMoon.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, CloudMoonActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnWind.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, WindActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); btnThunder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, ThunderActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } }); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/MoonActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 11/09/14. */ public class MoonActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.moon); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/SunActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** <<<<<<< HEAD * Created by administrator on 29/09/14. ======= * Created by administrator on 9/29/14. >>>>>>> 31ecf11b87fdd0f58ca31eb3b2754003debca09f */ public class SunActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sun); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/ThunderActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by admin on 10/1/14. */ public class ThunderActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.thunder); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/ViewAllActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 30/09/14. */ public class ViewAllActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.all_views); } } ================================================ FILE: Skycons/SkyconDemo/src/main/java/com/thbs/skycons/WindActivity.java ================================================ package com.thbs.skycons; import android.app.Activity; import android.os.Bundle; /** * Created by administrator on 15/09/14. */ public class WindActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wind); } } ================================================ FILE: Skycons/SkyconDemo/src/main/res/layout/activity_main.xml ================================================