Home

Awesome

#GoogleClock

An imitation of the clock in Google I/O 2016 . Almost all of the animations and images in it are made by the SVG , so this library may be a wonderful material to learn the SVG's usage in Android . Chinese README is here .

##show

GoogleClock My God ! Why it doesn't appear ... if you can't find the gif , visit here

##Installation You can install GoogleClock by adding the following dependency to your build.gradle:

allprojects {
		repositories {
			...
			maven { url "https://jitpack.io" }
		}
}
dependencies {
	        compile 'com.github.lypeer:GoogleClock:1.0.0'
}

##Usage

###Simple Usage :

Just to add the GoogleClock to your activity's xml :

<com.lypeer.googleioclock.GoogleClock
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

And then the clock will appear .

###Complex Usage

Of course , you can do some configuration in the xml :

<com.lypeer.googleioclock.GoogleClock
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:lyClockWidth="32dp"
        app:lyHourWidth="32dp"
        app:lyMinWidth="32dp"
        app:lySecWidth="32dp"
        app:lyDividerHorizontal="32dp"
        app:lyDividerVertical="32dp"
        app:lyTheme="@style/LyTheme3"
        />

You can configure the following xml attributes for the clock :

attributevalue typedefalut valuedescription
lyClockWidthdimen0dpThe size of numbers in the clock . But it's priority is lower than the below three attributes .
lyHourWidthdimen48dpThe size of the hour part in the clock .
lyMinWidthdimen48dpThe size of the minutes part in the clock .
lySecWidthdimen32dpThe size of the second part in the clock .
lyDividerHorizontaldimen4dpThe divider's width between the two number in hour , minute and snecond .
lyDividerVerticaldimen16dpThe devider's width of the two lines (Hours and mintues are in the same line while seconds the other).
lyThemereferenceLyThemeThe custom theme .

Your can define a custom theme to change more in the clock , such as following :

<style name="LyTheme2" parent="LyTheme">
        <item name="lyColor0">@color/colorRed</item>
        <item name="lyColor1">@color/colorYellow</item>
        <item name="lyColor2">@color/colorGreen</item>
        <item name="lyColor3">@color/colorBlue</item>
        <item name="lyColorColon">@color/colorDarkBlue</item>
        <item name="lyThickness">@integer/lyThickness_4</item>
        <item name="lyColonThickness">@integer/lyThickness_1</item>
</style>

You should let The custom theme's parent be LyTheme so that you can only override the attributes you want to change . If not , your theme must contains all of the attributes in LyTheme , or some view may can't work . LyTheme contains following attributes :

attributesvalue typedefault valuedescription
lyColor0color@color/colorRedThe first color in the numbers .
lyColor1color@color/colorYellowThe second color in the numbers .
lyColor2color@color/colorGreenThe third color in the numbers .
lyColor3color@color/colorBlueThe forth color in the numbers .
lyColorColoncolor@color/colorDarkBlueThe color of the colon .
lyThicknessinteger4Number's thickness .
lyColonThicknessinteger1Colon's thickness .

Ok , that's all about usage . There is a demo in the library .

##Dependencies

##License

 Copyright 2014-2016 lypeer.

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.