Minimal、Watch Face Z04、InstaWeather等。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供馬邊彝族企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、HTML5、小程序制作等業(yè)務(wù)。10年已為馬邊彝族眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
《Watch Face - Minimal Elegant》是一款支持所有Android Wear智能手表的應(yīng)用??勺远x顏色、字體、時(shí)間及天氣及文本?!禬atch Face Z04》是一款高級的Android Wear智能手表表盤應(yīng)用。每個(gè)表盤都可設(shè)計(jì)為適合黑色,銀色或金色手表。 還可以使用自定義選項(xiàng)更改和修改此表盤?!禝nstaWeather》是一款支持Android Wear智能手表的應(yīng)用。
智能手表是具有信息處理能力,符合手表基本技術(shù)要求的手表。 智能手表除指示時(shí)間之外,還應(yīng)具有提醒、 導(dǎo)航 、校準(zhǔn)、監(jiān)測、交互等其中一種或者多種功能。
次的小程序是一個(gè)Android小時(shí)鐘。主要用到知識有Handler,Thread,Canvas,Path.
Handler:主要是用來接收子線程發(fā)送的數(shù)據(jù),并用此數(shù)據(jù)配合主線程更新UI。Handler運(yùn)行在主線程,通過message來與子線程傳遞數(shù)據(jù)。我只用到了sendMessage(Message)方法。
Thread在Java中剛學(xué)過了,所以用起來還是比較簡單的,就不多說了。
Canvas類就是表示一塊畫布,你可以在上面畫你想畫的東西。當(dāng)然,你還可以設(shè)置畫布的屬性,如畫布的顏色/尺寸等。
這東西我是第一次用,所以查了下canvas提供的方法。在時(shí)鐘小程序中,我主要用的是rotate(),旋轉(zhuǎn)畫布。
Path也是第一次用到。moveTo和lineTo是用來設(shè)置開始的基點(diǎn)和最后的基點(diǎn)。我用path來畫時(shí)鐘的分針、秒針和時(shí)針。
關(guān)于android畫圖方面的知識是第一次接觸到,(其實(shí)本來是想從網(wǎng)上下載一個(gè)時(shí)鐘表盤的圖片直接拿來用的),但是由于找不到合適的指針的圖片,所以還是用畫的了,雖然這樣就會顯得很樸素了,但是基本功能還是實(shí)現(xiàn)了。截圖如下:
上面例子來源于android學(xué)習(xí)手冊,360手機(jī)助手中可以下載,里面有108個(gè)android例子,源碼文檔都可在里面看,下面是截圖
package?clock.zlp;??
import?android.annotation.SuppressLint;??
import?android.app.Activity;??
import?android.os.Bundle;??
import?android.os.Handler;??
import?android.os.Message;??
import?android.view.View;??
import?android.widget.LinearLayout;??
import?android.widget.TextView;??
public?class?clock?extends?Activity?{??
private?LinearLayout?myClock;??
private?draw?drawClock;??
protected?static?final?int?MESSAGE?=?123;??
public?Handler?handler;??
private?Thread?mthread;??
TextView?tv?=?null;??
@SuppressLint("HandlerLeak")??
@Override??
public?void?onCreate(Bundle?savedInstanceState)?{??
super.onCreate(savedInstanceState);??
View?view?=?this.getWindow().getDecorView();?//?getDecorView??
view.setBackgroundDrawable(this.getResources().getDrawable(??
R.drawable.abc));??
setContentView(R.layout.main);??
myClock?=?(LinearLayout)?findViewById(R.id.clock);??
drawClock?=?new?draw(this);??
myClock.addView(drawClock);??
handler?=?new?Handler()?{??
public?void?handleMessage(Message?mess)?{??
if?(mess.what?==?clock.MESSAGE)?{??
myClock.removeView(drawClock);??
drawClock?=?new?draw(clock.this);??
myClock.addView(drawClock);??
}??
super.handleMessage(mess);??
}??
};??
mthread?=?new?myThread();??
mthread.start();??
}??
class?myThread?extends?Thread?{??
public?void?run()?{??
super.run();??
while?(Thread.interrupted()?==?false)?{??
try?{??
Thread.sleep(1000);??
}?catch?(InterruptedException?e)?{??
e.printStackTrace();??
}??
Message?m?=?new?Message();??
m.what?=?clock.MESSAGE;??
clock.this.handler.sendMessage(m);??
}??
}??
}??
}
package clock.zlp;
import?java.util.Calendar;??
import?android.annotation.SuppressLint;??
import?android.content.Context;??
import?android.graphics.Canvas;??
import?android.graphics.Color;??
import?android.graphics.Paint;??
import?android.graphics.Path;??
import?android.view.View;??
@SuppressLint({?"ResourceAsColor",?"DrawAllocation"?})??
public?class?draw?extends?View?{??
public?draw(Context?context)?{??
super(context);??
}??
public?void?onDraw(Canvas?canvas)?{??
Paint?paint?=?new?Paint();??
paint.setAntiAlias(true);??
paint.setColor(Color.BLACK);??
paint.setStyle(Paint.Style.STROKE);?//?空心的畫筆??
paint.setStrokeWidth(3);?//?設(shè)置paint的外框?qū)挾??
drawDial(canvas,?paint);?//?繪制表盤??
drawHand(canvas,?paint);?//?繪制時(shí)針、分針、秒針??
}??
public?void?drawHand(Canvas?canvas,?Paint?paint)?{??
int?x?=?310;??
int?y?=?x;??
int?hour;??
int?minute;??
int?second;??
final?Calendar?calendar?=?Calendar.getInstance();??
hour?=?calendar.get(Calendar.HOUR);??
minute?=?calendar.get(Calendar.MINUTE);??
second?=?calendar.get(Calendar.SECOND);??
float?h?=?((hour?+?(float)?minute?/?60)?/?12)?*?360;??
float?m?=?((minute?+?(float)?second?/?60)?/?60)?*?360;??
float?s?=?((float)?second?/?60)?*?360;??
//?時(shí)針??
paint.setColor(Color.WHITE);??
canvas.save();?//?線鎖定畫布??
canvas.rotate(h,?x?/?2,?y?/?2);?//?旋轉(zhuǎn)畫布??
Path?path1?=?new?Path();??
path1.moveTo(x?/?2,?y?/?2);?//?開始的基點(diǎn)??
path1.lineTo(x?/?2,?y?/?4);?//?最后的基點(diǎn)??
canvas.drawPath(path1,?paint);??
canvas.restore();??
//?分針??
paint.setColor(R.color.MediumSlateBlue);??
canvas.save();??
canvas.rotate(m,?x?/?2,?y?/?2);?//?旋轉(zhuǎn)畫布??
Path?path2?=?new?Path();??
path2.moveTo(x?/?2,?y?/?2);?//?開始的基點(diǎn)??
path2.lineTo(x?/?2,?y?/?6);?//?最后的基點(diǎn)??
canvas.drawPath(path2,?paint);??
canvas.restore();??
//?秒針??
paint.setColor(Color.BLUE);??
canvas.save();??
canvas.rotate(s,?x?/?2,?y?/?2);?//?旋轉(zhuǎn)畫布??
Path?path3?=?new?Path();??
path3.moveTo(x?/?2,?y?/?2);?//?開始的基點(diǎn)??
path3.lineTo(x?/?2,?y?/?9);?//?最后的基點(diǎn)??
canvas.drawPath(path3,?paint);??
canvas.restore();??
}??
public?void?drawDial(Canvas?canvas,?Paint?paint)?{??
int?x?=?310;??
int?y?=?x;??
paint.setColor(Color.WHITE);??
canvas.drawCircle(x?/?2,?y?/?2,?x?/?2?-?2,?paint);??
canvas.drawCircle(x?/?2,?y?/?2,?x?/?40,?paint);??
Path?path9?=?new?Path();?//?接下來的是,畫時(shí)針的刻度??
path9.moveTo(2,?y?/?2);??
path9.lineTo(y?/?18,?y?/?2);??
canvas.drawPath(path9,?paint);??
Path?path12?=?new?Path();??
path12.moveTo(x?/?2,?2);??
path12.lineTo(x?/?2,?y?/?18);??
canvas.drawPath(path12,?paint);??
Path?path3?=?new?Path();??
path3.moveTo(x?-?2,?y?/?2);??
path3.lineTo(x?-?x?/?18,?y?/?2);??
canvas.drawPath(path3,?paint);??
Path?path6?=?new?Path();??
path6.moveTo(x?/?2,?y?-?2);??
path6.lineTo(x?/?2,?y?-?y?/?18);??
canvas.drawPath(path6,?paint);??
canvas.save();??
canvas.rotate(32,?x?/?2,?y?/?2);??
Path?path10?=?new?Path();??
path10.moveTo(2,?y?/?2);??
path10.lineTo(x?/?32,?y?/?2);??
canvas.drawPath(path10,?paint);??
Path?path1?=?new?Path();??
path1.moveTo(x?/?2,?2);??
path1.lineTo(x?/?2,?y?/?32);??
canvas.drawPath(path1,?paint);??
Path?path4?=?new?Path();??
path4.moveTo(x?-?1,?y?/?2);??
path4.lineTo(x?-?x?/?32,?y?/?2);??
canvas.drawPath(path4,?paint);??
Path?path7?=?new?Path();??
path7.moveTo(x?/?2,?y?-?2);??
path7.lineTo(x?/?2,?y?-?y?/?32);??
canvas.drawPath(path7,?paint);??
canvas.restore();??
canvas.save();??
canvas.rotate(60,?x?/?2,?y?/?2);??
Path?path11?=?new?Path();??
path11.moveTo(2,?y?/?2);??
path11.lineTo(x?/?32,?y?/?2);??
canvas.drawPath(path11,?paint);??
Path?path2?=?new?Path();??
path2.moveTo(x?/?2,?2);??
path2.lineTo(x?/?2,?y?/?32);??
canvas.drawPath(path2,?paint);??
Path?path5?=?new?Path();??
path5.moveTo(x?-?2,?y?/?2);??
path5.lineTo(x?-?x?/?32,?y?/?2);??
canvas.drawPath(path5,?paint);??
Path?path8?=?new?Path();??
path8.moveTo(x?/?2,?y?-?2);??
path8.lineTo(x?/?2,?y?-?y?/?32);??
canvas.drawPath(path8,?paint);??
canvas.restore();??
}??
}
華為智能手表為您準(zhǔn)備了多款精美表盤,在表盤列表下面帶有??的表盤為自定義表盤,您可以點(diǎn)擊?,根據(jù)喜好進(jìn)行表盤的調(diào)整。如設(shè)置表盤背景、指針風(fēng)格、表盤顯示內(nèi)容等,打造專屬于您的特色表盤。
【具體方法】
方法一:在主屏幕,長按表盤進(jìn)入選擇列表。左右滑動手指瀏覽表盤,單擊表盤完成更換。
方法二:在手表主界面向左滑動一下,選擇 設(shè)置 更換表盤主題,左右滑動手指瀏覽表盤,單擊表盤完成更換。
方法三:在Android Wear 中國版app主界面 表盤主題 點(diǎn)擊 更多 瀏覽更多表盤,單擊表盤完成更換。
安裝新表盤
在 Android Wear 中國版app主界面的 表盤主題 區(qū)域點(diǎn)擊 更多,滑動屏幕至最下方,點(diǎn)擊 獲取更多表盤主題,進(jìn)入華為應(yīng)用市場下載表盤app。
擴(kuò)展資料:
2015年3月MWC2015,華為發(fā)布了華為Watch,是華為發(fā)布的首款A(yù)ndroid Wear。華為Watch 支持心率監(jiān)測和常見的運(yùn)動追蹤功能,同時(shí)內(nèi)建有六軸運(yùn)動感應(yīng)器和氣壓計(jì)。
2015年11月26日,華為官方宣布華為Watch國行版將與年度收官旗艦Mate 8于11月26日在上海世博中心一同亮相發(fā)布。
華為Watch采用1.4寸AMOLED屏幕,分辨率為400×400像素,采用藍(lán)寶石玻璃鏡面,內(nèi)置一顆高通驍龍400處理器,512M運(yùn)行內(nèi)存,4GB存儲空間支持Android4.3及以上版本、暫時(shí)不支持iOS系統(tǒng),并內(nèi)置了藍(lán)牙4.1、心率傳感器、運(yùn)動傳感器、氣壓傳感器等。
參考資料:華為官網(wǎng)—自定義表盤
使用此功能前請將運(yùn)動健康A(chǔ)pp及設(shè)備升級至最新版本。手機(jī)為HarmonyOS 2、Android 6.0、iOS 12.0及以上版本。
華為手環(huán) 6系列HUAWEI WATCH FIT系列僅支持設(shè)置相冊表盤。
在運(yùn)動健康A(chǔ)pp中設(shè)備詳情頁的表盤市場,點(diǎn)擊更多 我的 本地表盤,點(diǎn)擊相冊表盤,進(jìn)入相冊表盤設(shè)置界面。
點(diǎn)擊+,選擇上傳照片的方式,拍照或是從相冊選擇。
選擇照片或拍照,點(diǎn)擊右上角√后點(diǎn)擊 保存。保存成功設(shè)備表盤將自動切換為剛設(shè)置的照片。
你是指非本機(jī)自帶表盤吧?最近半個(gè)月才可以,聯(lián)想終于擠出些應(yīng)用。你在手機(jī)Android wear應(yīng)用上點(diǎn)擊“發(fā)掘熱門手表應(yīng)用”,里面有個(gè)夢幻表盤,她就屬于第三方表盤。我已經(jīng)試用了一段時(shí)間,種類很多,有什么問題加群也會熱心幫你解決。
Android Wear智能手表平臺從發(fā)布最初的兩款機(jī)型,逐漸得到擴(kuò)充,在本次IFA德國電子消費(fèi)者上,LG、索尼、華碩均推出新機(jī)型,另外發(fā)布已久的Moto 360也終于上市。也就是說,Android Wear目前擁有6款智能手表可以選擇。雖然仍遭受實(shí)用性、電池壽命等方面的質(zhì)疑,但作為第一個(gè)智能手表平臺,越來越豐富的機(jī)型讓Android Wear值得考慮。如果你對智能手表感興趣,不妨看看6款A(yù)ndroid Wear手表哪一款最對你的胃口。
1. 三星Gear Live
參考價(jià)格:199美元(約合人民幣1222元)
屏幕:1.63英寸320*320像素AMOLED
硬件規(guī)格:1.2GHz高通Snapdragon 400、512MB RAM+4GB ROM
傳感器:9軸加速度計(jì)、心率傳感器
重量:59克
外觀特點(diǎn):乍一看,三星Gear Live與其Android及Tizen平臺的Gear系列很相似,只是沒有了主屏按鍵。機(jī)身設(shè)計(jì)略顯笨重,但佩戴感不錯(cuò)。另外還擁有黑色、紫紅色腕帶可以選擇。
優(yōu)點(diǎn):三星的AMOLED屏幕即便是在小尺寸設(shè)備上,顯示效果也非常棒,另外它還具備心率傳感器,可直接監(jiān)測心率指數(shù)。
缺點(diǎn):其卡入式的充電形式體驗(yàn)非常差,另外由于三星更注重發(fā)展自家的Tizen平臺,感覺上Gear Live還有所保留。
上市時(shí)間:已上市
2. LG GWatch
參考價(jià)格:230美元(約合人民幣1412元)
屏幕:1.65英寸280*280像素IPS液晶
硬件規(guī)格:1.2GHz高通Snapdragon 400、512MB RAM+4GB ROM
傳感器:9軸加速度計(jì)
重量:63克
外觀設(shè)計(jì):LG G Watch的外觀四四方方,就像是一款超小型LG手機(jī)。另外它具有金色、黑色款式,以及黑白腕帶。
優(yōu)點(diǎn):被谷歌作為Android Wear的參考機(jī)型,出現(xiàn)在眾多宣傳中。
缺點(diǎn):配有一個(gè)廉價(jià)的充電底座,另外機(jī)身背部的充電觸點(diǎn)會遭到腐蝕并引起皮膚過敏。
上市時(shí)間:已上市
3. LG G Watch R
參考價(jià)格:預(yù)計(jì)249美元(約合人民幣1530元)
屏幕:1.3英寸320*320像素塑料OLED
硬件規(guī)格:1.2GHz高通Snapdragon 400、512MB RAM+4GB ROM
傳感器:9軸加速度計(jì)
重量:未知
外觀設(shè)計(jì):LG G Watch R看上去像是一款運(yùn)動手表,純圓形的屏幕看上去十分迷人,另外還增加了一個(gè)物理按鍵。
優(yōu)點(diǎn):純圓形的屏幕計(jì)劃不會讓人以為LG G Watch R是一款智能手表,外形設(shè)計(jì)十分出色。
缺點(diǎn):目前只有黑色款式,另外其風(fēng)格比較運(yùn)動,可能不適合所有裝扮。最后,你需要等到10月14日才能買到它。
上市時(shí)間:10月14日
4. 華碩ZenWatch
參考價(jià)格:預(yù)計(jì)199美元(約合人民幣1222元)
屏幕:1.63英寸320*320像素AMOLED
硬件規(guī)格:1.2GHz高通Snapdragon 400、512MB RAM+4GB ROM
傳感器:9軸加速度計(jì)、心率傳感器
重量:50克
外觀設(shè)計(jì):具有柔美曲線的長方形曲面屏幕,看上去像是Pebble的時(shí)尚版。設(shè)計(jì)的點(diǎn)睛之筆是玫瑰金色金屬鑲邊。
優(yōu)點(diǎn):金屬邊框帶來了更高檔的感覺,另外還擁有縫制皮革表帶,質(zhì)感不俗。華碩還加入了自家的健康應(yīng)用程序,并支持藍(lán)牙解鎖手機(jī)。
缺點(diǎn):表帶僅有棕色一款,IP55的防水性能略遜色于其他IP68機(jī)型。
上市時(shí)間:未知
5. Moto 360
參考價(jià)格:皮帶版249美元、鋼帶版299美元(約1530至1836元人民幣)
屏幕:1.5英寸320*290像素液晶屏
硬件規(guī)格:1.2GHz高通Snapdragon 400、512MB RAM+4GB ROM
傳感器:9軸加速度計(jì)、心率傳感器
重量:59克
外觀設(shè)計(jì):美妙的金屬圓形表盤,看上去十分高端,并且擁有銀色及黑色可選,呈現(xiàn)出兩種風(fēng)格。另外,可以選擇皮帶及鋼帶版本。
優(yōu)點(diǎn):精致的做工和設(shè)計(jì),并且是目前唯一支持無線充電的Android Wear。
缺點(diǎn):機(jī)身較為厚重,另外圓形屏幕并非純圓形,底部擁有一塊黑邊。圓形的屏幕也造成一部分軟件的UI效果不佳。
上市時(shí)間:可預(yù)訂
6. 索尼SmartWatch 3
參考價(jià)格:229歐元(約合人民幣1821元)
屏幕:1.6英寸320*320像素液晶屏
硬件規(guī)格:1.2GHz高通Snapdragon 400、512MB RAM+4GB ROM
傳感器:9軸加速度計(jì)、GPS
重量:45克(不含表帶)
外觀設(shè)計(jì):經(jīng)典的索尼風(fēng)格,表盤與腕帶融為一體,不過塑膠感略強(qiáng)。
優(yōu)點(diǎn):目前唯一內(nèi)置GPS芯片的Android Wear。
缺點(diǎn):僅支持索尼自家的塑膠腕帶,充電接口設(shè)計(jì)繁瑣。
上市時(shí)間:今年秋天