A. android 4.0以上操作系統的Android手機之支持Aero圖形效果嗎就是毛玻璃特效。
只有Windows系統才有Aero這種叫法,至於Android半透明的效果從最早的Android手機開始基本上就有了,不過如果你指的如果是系統本身的半透明,要看你用的rom版本了,有些修改版本的rom是做了很多透明效果的,這與Android版本沒有任何關系。
B. 誰說Android沒有好的對話框
安卓自5.0後自帶的對話框都是沉浸式體驗,用戶體驗極佳。對話框的效果是可以自己定義的,圓角、背景透明,毛玻璃,過度動畫,如果想要完全可以和IOS的效果一樣,但是就不符合Android的material設計規范了。下面是兩種效果的對話框
自定義圓角對話框 2.material效果的對話框
C. android 動態毛玻璃效果怎麼做
android好像不能做,除非手機配置高,另外你們吧android搞得像ios一樣,那就難看了,建議android就用原生MD風格就行了
D. 毛玻璃風格的魅力 (附毛玻璃風格圖標案例教學)
• 什麼是毛玻璃?
• 毛玻璃的作用
• 毛玻璃的實際運用
• 案例練習
毛玻璃是近兩年來繼新擬物化 「Neumorphism」之後又一流行起來的視覺設計風格,設計師 Michal Malewicz稱呼它為 「Glassmorphism」 (毛玻璃) [2]。這一詞來源於glass (玻璃) + morphism (形態主義),其風格的最大特點是像玻璃一樣的通透性,可以透過表層看到背景的模糊形態,因此而得名。
Michal總結的毛玻璃風格的四個特徵為[2]:
• 使用背景模糊營造出的「玻璃透明質感」
•「多層級」使得物件看起來懸浮在界面上
•「鮮艷的色彩」突出了模糊的透明性
• 半透明物件的「輕薄微妙邊框」
也有一部分人會把這種風格叫作「Aero」,此名來自Windows Vista開始使用的新型用戶界面 - 「Windows Aero」。「Aero」取自四個英文單詞首字母:
• Authentic (真實)
• Energetic (動感)
• Reflective (反射)
• Open (開闊)
意為Aero界面是具立體感、令人震撼、具透視感和闊大的用戶界面[3]。
毛玻璃其實並不是最近才出現的全新設計風格,它可以追溯到蘋果早期的「Aqua」風格,以及Windows Vista的「Aero」。而自2020年以來毛玻璃再次得以發展,在電腦端和移動端用戶界面中都可以看到毛玻璃風格的身影。尤其在設計網站Dribbble上毛玻璃風格更是風靡一時,直到現在還有很多毛玻璃風格的作品層出不窮。
有通透性的玻璃質感,頁面輕盈,有呼吸感。
透過毛玻璃層,可以看到下面模糊的背景,並不會影響前景元素的展示。這種方式可以將層級很好的表達,虛化了背景而強化前景,用戶也可以清晰地感知到自己身處何處。
毛玻璃圖標的使用使得圖標更加精緻,具備透視感,可以增添頁面的活力。
典型的例子 —— iOS以及macOS系統對毛玻璃作為頁面背景的使用。比如,iPhone的搜索和控制中心頁面,還有macOS的桌面。這樣的處理可以讓用戶知道自己所處位置,也不會影響當前功能的視覺與使用。
這種目前在實際app及web頁面設計中並不十分常見,但在設計中若有突出層級以及營造品質感的需求,毛玻璃背景不失為一種很好的表現形式。
我們可以看到iOS的底部標簽欄和macOS的側邊欄都使用了毛玻璃背景形式,而微信標簽欄也採用了相同形式。毛玻璃風格的標簽欄主要優點在於弱化了標簽欄和主體內容之間的割裂感,突出了主體內容。同樣的,它並不會影響用戶對標簽欄按鈕的操作使用。
毛玻璃同樣適用於圖標設計,精美的毛玻璃風格圖標可以給我們的頁面帶來活力和品質感。可以看到,喜馬拉雅App主頁的圖標就使用了毛玻璃風格。
除了作為背景、圖標設計,毛玻璃還可用於一些特殊控制項。比如下圖QQ音樂App就使用了毛玻璃風格,作為小圖標的背景,置於歌曲圖片之上。這樣的表現形式使得圖片展示與其上的圖標功能過渡自然,歌曲圖片並不會有圖片被擋住的不適感。
以上,可以看出,目前市場上對於毛玻璃的使用還是比較謹慎的,一般會用於比較小的控制項中,比如標簽欄和圖標。通過細小的控制項設計,營造出精緻與品質感。大面積的毛玻璃形式還是要小心使用。
我們就以毛玻璃圖標為例,做個小練習 (使用工具:Figma)。
在做的過程中,謹記Michal總結的4個特徵 - 背景模糊 (玻璃透明質感)、多層級 (懸浮)、鮮艷色彩、輕薄微妙邊框。
Step 1: 構建基礎圖標
這里我們以「照相機」圖標為例,我們使用填充類型的圖標,復制一個相機形狀並縮小,旋轉15度左右,置於正的相機右上方,圖層置於後方。這里設置的整體大小為32x32px。
Step 2: 填充鮮艷色彩
我們給後方的相機填充一個鮮艷的色彩,也可以使用漸變色。這里使用的色值如下:
Step 3: 背景模糊
這里給前方的相機填充一個帶透明度的相近顏色,添加背景模糊 (數值需要根據圖標應用大小和實際操作效果而設置)。我們可以看到圖標已經有了玻璃透明質感。
Step 4: 添加輕薄微妙邊框
我們給玻璃透明質感的相機塗層添加一層淡淡的邊框,數值參考下圖。邊框最好設置漸變色由x% 到0%,營造微妙感。
Step 5: 增添細節
相機的圓圈添加漸變效果,與背景更加融合。
這樣我們一個毛玻璃風格的圖標就做好了!可以試著自己練習設計一下其它的圖標。
參考引用
[1] Food Ordering Website Design - By Tazrin
[2] Glassmorphism in user interfaces
[3] Windows Aero網路
[4] Sales Pop ‑ Social Proof Popup - By Ibrahim emran
[5] Food Delivery Dashboard - By Alexandra Ivanchenko
[6] Freebie: Iconly Glass | Dark - By Amir Baqian
E. android 實現毛玻璃透明效果有幾種方法
1、如果系統的api在16以上,可以使用系統提供的方法直接處理圖片
復制代碼代碼如下:
if (VERSION.SDK_INT > 16) {
Bitmap bitmap = sentBitmap.(sentBitmap.getConfig(), true);
final RenderScript rs = RenderScript.create(context);
final Allocation input = Allocation.createFromBitmap(rs, sentBitmap, Allocation.MipmapControl.MIPMAP_NONE,
Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs, input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(radius /* e.g. 3.f */);
script.setInput(input);
script.forEach(output);
output.To(bitmap);
return bitmap;
}
2、 如果Api條件不滿足,可以使用如下方法
復制代碼代碼如下:
@SuppressLint("NewApi")
public static Bitmap fastblur(Context context, Bitmap sentBitmap, int radius) {
Bitmap bitmap = sentBitmap.(sentBitmap.getConfig(), true);
if (radius < 1) {
return (null);
}
int w = bitmap.getWidth();
int h = bitmap.getHeight();
int[] pix = new int[w * h];
// Log.e("pix", w + " " + h + " " + pix.length);
bitmap.getPixels(pix, 0, w, 0, 0, w, h);
int wm = w - 1;
int hm = h - 1;
int wh = w * h;
int div = radius + radius + 1;
int r[] = new int[wh];
int g[] = new int[wh];
int b[] = new int[wh];
int rsum, gsum, bsum, x, y, i, p, yp, yi, yw;
int vmin[] = new int[Math.max(w, h)];
int divsum = (div + 1) >> 1;
divsum *= divsum;
int temp = 256 * divsum;
int dv[] = new int[temp];
for (i = 0; i < temp; i++) {
dv[i] = (i / divsum);
}
yw = yi = 0;
int[][] stack = new int[div][3];
int stackpointer;
int stackstart;
int[] sir;
int rbs;
int r1 = radius + 1;
int routsum, goutsum, boutsum;
int rinsum, ginsum, binsum;
for (y = 0; y < h; y++) {
rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
for (i = -radius; i <= radius; i++) {
p = pix[yi + Math.min(wm, Math.max(i, 0))];
sir = stack[i + radius];
sir[0] = (p & 0xff0000) >> 16;
sir[1] = (p & 0x00ff00) >> 8;
sir[2] = (p & 0x0000ff);
rbs = r1 - Math.abs(i);
rsum += sir[0] * rbs;
gsum += sir[1] * rbs;
bsum += sir[2] * rbs;
if (i > 0) {
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
} else {
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
}
}
stackpointer = radius;
for (x = 0; x < w; x++) {
r[yi] = dv[rsum];
g[yi] = dv[gsum];
b[yi] = dv[bsum];
rsum -= routsum;
gsum -= goutsum;
bsum -= boutsum;
stackstart = stackpointer - radius + div;
sir = stack[stackstart % div];
routsum -= sir[0];
goutsum -= sir[1];
boutsum -= sir[2];
if (y == 0) {
vmin[x] = Math.min(x + radius + 1, wm);
}
p = pix[yw + vmin[x]];
sir[0] = (p & 0xff0000) >> 16;
sir[1] = (p & 0x00ff00) >> 8;
sir[2] = (p & 0x0000ff);
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
rsum += rinsum;
gsum += ginsum;
bsum += binsum;
stackpointer = (stackpointer + 1) % div;
sir = stack[(stackpointer) % div];
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
rinsum -= sir[0];
ginsum -= sir[1];
binsum -= sir[2];
yi++;
}
yw += w;
}
for (x = 0; x < w; x++) {
rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
yp = -radius * w;
for (i = -radius; i <= radius; i++) {
yi = Math.max(0, yp) + x;
sir = stack[i + radius];
sir[0] = r[yi];
sir[1] = g[yi];
sir[2] = b[yi];
rbs = r1 - Math.abs(i);
rsum += r[yi] * rbs;
gsum += g[yi] * rbs;
bsum += b[yi] * rbs;
if (i > 0) {
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
} else {
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
}
if (i < hm) {
yp += w;
}
}
yi = x;
stackpointer = radius;
for (y = 0; y < h; y++) {
// Preserve alpha channel: ( 0xff000000 & pix[yi] )
pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum];
rsum -= routsum;
gsum -= goutsum;
bsum -= boutsum;
stackstart = stackpointer - radius + div;
sir = stack[stackstart % div];
routsum -= sir[0];
goutsum -= sir[1];
boutsum -= sir[2];
if (x == 0) {
vmin[y] = Math.min(y + r1, hm) * w;
}
p = x + vmin[y];
sir[0] = r[p];
sir[1] = g[p];
sir[2] = b[p];
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
rsum += rinsum;
gsum += ginsum;
bsum += binsum;
stackpointer = (stackpointer + 1) % div;
sir = stack[stackpointer];
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
rinsum -= sir[0];
ginsum -= sir[1];
binsum -= sir[2];
yi += w;
}
}
// Log.e("pix", w + " " + h + " " + pix.length);
bitmap.setPixels(pix, 0, w, 0, 0, w, h);
return (bitmap);
}
F. Android 毛玻璃(高斯模糊)背景對話框
在 Activity 中調用
模糊工具
G. 華為手機什麼都好,就是系統是一大硬傷啊啊
首先跟樓主說下 你既然說的是EMUI 3.1 那要對比的是Flyme 4.0和MIUI V7 所以我把你的描述改了下。 EMUI 3.1 先說EMUI 3.1 這是跟著華為P8全球發布的時候一起推出的系統。在3.0的基礎上是安卓版本由4.4升級到了5.0 其次是增加不少功能。 1、毛玻璃背景,在EMUI的3.1出現 初次嘗試沉浸式狀態欄,希望可以堅持下去。 EMUI3.1的變成了沉浸式的毛玻璃背景,突出了白色的字體,EMUI3.1去掉了3.0版本的下拉按鈕,而是改為了直接滑動屏幕選擇開關,在編輯開關界面,每個開關按鈕也增加了沉浸效果,界限也更加明顯,但是EMUI做的UI確實需要下功夫,這些要跟MIUI學習下。 2、雜志鎖屏內容增加,這點MIUI學過去了叫做鎖屏畫報,看來這個功能還是 雜志鎖屏是EMUI的特色功能,在每次點亮屏幕的時候會出現不同風格的絕美高清壁紙,個人還是比較喜歡 看的順眼的照片都是可以保存下來的;歷經多次版本優化,EMUI 3.1雜志鎖屏的功能更趨完善,其實可以做的更好 ,比如在鎖屏的插件等。 3、多彩設置頁面圖標,其實這個我個人比較喜歡 但是這個是主觀東西 有的人看喜歡IOS的設置頁面,肯定比較喜歡這個。拋開模仿不模仿不說,其實很多小功能體驗一個系統的人性化程度,也是用戶粘性的基礎,至少讓人感覺你的系統還是有人在開發維護。 4、情景智能--算是一個嘗試,其實華為很多設計都是偏向商務和年齡段偏大的用戶,就問一句這些功能 那些學生族用得上嗎?難道你們會告訴他什麼時候上課? 5、單手屏幕功能、其他ROM一兩年前功能,EMUI你總算來了,終於等到你,有生之年看到了還是點個贊吧,大屏模式的輔助功能,說實話在大學時候的VIVO xplay3S時候就是有這個功能。 6、多樣化拍照模式,摸過了很多ROM 就發現EMUI的相機玩法 多玩幾次後發現EMUI 3.1有美食模式、個性化濾鏡、慢動作、除霧濾鏡、延時攝影、魅我功能、流光快門等功能 把以前單反的長曝光 通過軟體和感測器在手機上實現,算是一個玩法,其實我經常去華為榮耀6Plus吧看到很多超級夜景和長曝光的作品,還不錯,拍照其實還是一門技術活,所以有人設備很好,拍的樣張也是入不了眼, 7、智能識物--雞肋功能,噱頭。希望後期能改進下,不行就搞了。 8、信息歸檔,快捷梳理信息 對信息進行管理也是很頭疼的事情,華為EMUI 3.1增加了通知信息歸檔設置,可將銀行類信息、運營商信息及絕大部分國內通知信息進行歸檔設置。這點有些類似於微信公眾號的折疊功能,將同一類型的通知簡訊折疊到一個統一入口,再也不怕手機簡訊箱亂亂的找不到想要的簡訊啦。不過即便是找不到,也可以用EMUI3.1簡訊搜索功能呢。 9、耗電管理更全面 電池是手機一大硬傷,手機的電池管家的省電都是閹割你的功能、飲鴆止渴,所以體驗和續航二者不可兼得,所以我預測手機行業下一次的高潮點肯定就是良好的續航重點或者新的電池電芯材料出現。 總結: 1、實用基礎功能都有,缺乏一個亮點去刺激用戶的「G」點。讓人對EMUI留下深刻印象、Flyme和MIUI的印象就是比較深刻 2、創新功能缺多,但乏吸引力、大多數出現了沒幾個版本被閹割掉了,這點MIUI做的比較多 3、EMUI定位人群明顯偏向商務人士。 4、EMUI 3.1總體表現優秀,並無短板後期的,EMUI 4.0的全球化戰略可能是API介面和開發者平台了。
H. 堅果手機怎麼換壁紙
可以打開主題,鎖屏設置里更換,也可以長按圖片,選擇設為壁紙,設為鎖屏,確定即可。
I. mate8 emui5怎樣替換字體
Emotion UI是華為基於Android進行開發的情感化用戶界面。獨創的Me Widget整合常用功能,一步到位;快速便捷的合一桌面,減少二級菜單;繽紛海量的主題,何止讓你眼花繚亂。觸手可及的智能指導,瀟灑脫離小白狀態。貼心的語音助手,即刻解放你的雙手。隨時隨地,盡情愉悅體驗。目前,已超過1億全球用戶。 EMUI3.1界面變化和以前的EMUI3.0版本相比,可謂是一樣的主題,不一樣的背景。EMUI3.0下拉通知欄白茫茫的底色不見了,EMUI3.1的變成了沉浸式的毛玻璃背景,從而突出了白色的字體,提升了視覺享受。同時,下拉開關也做的更加完美,EMUI3.1去掉了3.0版本的下拉按鈕,而是改為了直接滑動屏幕選擇開關,在編輯開關界面,每個開關按鈕也增加了沉浸效果,界限也更加明顯。
J. Android上如何做出毛玻璃模糊的效果
上圖展示了一種很典型的視覺效果——文字的背景不再是固定的,而是將底層的相應區域模糊化,好似蓋了一層毛玻璃。
其原理也很簡單,分為三步走:
裡面涉及到的技術點有兩個:
ViewTreeObserver裡面有一個監聽器為OnPreDrawListener
當它執行時,布局文件經過了 measured 、 laid out 、 displayed ,即將被繪制到屏幕,此時調用它的 getDrawingCache() 方法可以獲得其Bitmap。完整方法如下:
方案有兩種:
兩種方案都可以進行對Bitmap對象的模糊處理,但當模糊半徑增大時,StackBlur能夠保持較好的性能,且不受Renderscript半徑25px的限制。
在GitHub項目有一個項目 blurring ,其實現了StackBlur演算法的Java實現版FastBlur,並給出兩種方案效率對比demo。經過測試,
看起來,Renderscript的性能更好,應該是Android上對Renderscript做了優化。盡管如此,考慮到Android中渲染一幀的時間應該不超過16ms(60fps),這樣的性能並不友好。 blurring 作者想出了另外一種思路:
這時候,效率提升非常明顯:
生成的模糊圖片當然有所不同,但是都是模糊背景,所以對用戶而言沒有太大差別。
好了,至此Android上製作毛玻璃背景模糊效果的技術都確定了。
我在 blurring 基礎上做了封裝,介面如下:
相對應類有兩個: