Android UI效果實現 滑動模糊漸變效果實現
大家應該都看到過iOS7解鎖螢幕的滑動模糊漸變效果,好了,現在可以把手紙收起來了,今天黃老師就給大家講一下如何在Android平臺上
實現類似的滑動模糊漸變效果,其實方式遠比你想像的簡單。
目標效果展示:
第一部分:幾個前提
說到模糊效果,我們先要了解幾個前提
1、原圖,指需要被模糊的一張點陣圖
2、模糊,通常是採用指將一個位圖的每個畫素RGB值都取周圍畫素的RGB值的平均值,這樣就可以產生模糊效果,一般通過高斯函式來實現,
至於Java中的實現方式黃老師就不給大家細講了,我也不是搞圖形演算法的,在這方面瞭解的不比大家多,百度一下能找到一堆高斯模糊轉換的實現。
3、模糊半徑,指每個畫素點周圍模糊的半徑,半徑越大,模糊程度約高,模糊效果越明顯,同時,模糊計算耗費時間越長。
4、模糊處理非常費時,一半在100ms~5000ms內,就黃老師我本人找的網上的演算法實測,一般android通過java實現的高斯模糊演算法轉換一張手機
螢幕解析度為480x800的點陣圖需要2s左右,所以如果要在滑動的過程中實時不斷重新計算模糊效果會非常差,所以如果要實現iOS7那樣的滑動動態模糊
漸變效果,用這樣的方式是不可行的,實際上iOS也不是這麼做的,因為iOS的硬體也沒達到能實時計算的程度。
那麼究竟應該如何去實現模糊漸變呢,其實非常簡單,我們接著講。
第二部分:動態模糊漸變的合理實現方式
其實,我的方式非常簡單,首先你需要明確一個最大的模糊效果的模糊半徑值,我們給它取個名字叫maxRadius,然後使用maxRadius和原圖傳入高斯模糊演算法
中計算出最大模糊效果的點陣圖maxBlurBitmap。
然後,在ui元件中,假設我的原圖是用一個ImageView顯示在介面上的,然後你所需要做的是,再建立一個ImageView置於原圖ImageView之上,然後將圖片源
設定為maxBlurBitmap,如下圖:
接著,我們只需要簡單的調整maxBlurBitmap的透明度,即可實現模糊漸變效果了,是否很簡單呢?
第三部分,提供一個最簡單的Java高斯模糊實現,我網上找來的,方便偷懶不願自己找的同學
001.
1
/**
002.
2
* 點陣圖處理類
003.
3
* @author HalfmanG2
004.
4
*/
005.
5
public
class
BitmapUtil
{
006.
6
007.
7
/**
008.
8
* 建立一個虛化的點陣圖
009.
9
* @param sentBitmap 原點陣圖
010.
10
* @param radius 虛化半徑
011.
11
* @return 虛化後的點陣圖
012.
12
*/
013.
13
public
static
Bitmap
createBlurBitmap(Bitmap sentBitmap,
int
radius)
{
014.
14
Bitmap
bitmap = sentBitmap.copy(sentBitmap.getConfig(),
true
);
015.
15
if
(radius
<
1
)
{
016.
16
return
(
null
);
017.
17
}
018.
18
int
w
= bitmap.getWidth();
019.
19
int
h
= bitmap.getHeight();
020.
20
int
[]
pix =
new
int
[w
* h];
021.
21
bitmap.getPixels(pix,
0
,
w,
0
,
0
,
w, h);
022.
22
int
wm
= w -
1
;
023.
23
int
hm
= h -
1
;
024.
24
int
wh
= w * h;
025.
25
int
div
= radius + radius +
1
;
026.
26
int
r[]
=
new
int
[wh];
027.
27
int
g[]
=
new
int
[wh];
028.
28
int
b[]
=
相關推薦
Android UI效果實現 滑動模糊漸變效果實現
大家應該都看到過iOS7解鎖螢幕的滑動模糊漸變效果,好了,現在可以把手紙收起來了,今天黃老師就給大家講一下如何在Android平臺上
實現類似的滑動模糊漸變效果,其實方式遠比你想像的簡單。
目標效果展示:
第一部分:幾個前提
說到模糊效
iOS簡單實現圖片模糊漸變效果
文章說明:本文可以其實只是個人對知識的記錄,為了自己以後找起來方便
例子參考連結 http://code4app.com/ios/EssentialImager/527cb3596803fa4e50000000
實現原理:其實就是用一張黑白的漸變圖片作為底圖
效果圖片:
具
Android Studio 使用ViewPager + Fragment實現滑動選單Tab效果 --簡易版
描述:
之前有做過一個記賬本APP,拿來練手的,做的很簡單,是用Eclipse開發的;
最近想把這個APP重新完善一下,添加了一些新的功能,並選用Android Studio來開發;
APP已經完善了一部分,現在就想把已經做好的功能整理一下,記錄下來。
效果圖
Android 夜間模式切換,顏色漸變效果實現
概述
做安卓開發有一段時間了,夜間模式的切換在各種APP中見多了,大部分都是點一下切換然後馬上改變配色,很是生硬,從來都沒去注意過!然後有一天我點了下知乎日報的夜間模式切換,直接被亮瞎狗眼!什麼?這還能漸變過去?不行了,得去研究研究……然後就有了這篇部
Css3實現四種漸變效果程式碼分享
一、八卦圖背景
程式碼:
background:
radial-gradient(circle at 50% 59%, #D2CAAB 3%, #364E27 4%, #364E27 11%, rgba(54,78,39,0) 12%, rgba(54,78,39,0)) 50px
CCS3怎麼實現border邊框漸變效果
下圖註冊按鈕的邊框有漸變效果,如果讓你來實現,你會怎麼做呢
個人覺得,省事的做法,直接讓UI給背景圖片就可以了,如下圖
不過這種做法感覺不太靈活,如果要修改border的漸變顏色,就需要UI重新做圖。那應該
CCS3怎麽實現border邊框漸變效果
clas 背景圖 after 選擇 imu 圓角 png range ado
下圖註冊按鈕的邊框有漸變效果,如果讓你來實現,你會怎麽做呢
個人覺得,省事的做法,直接讓UI給背景圖片就可以了,如下圖
不過這種做法感覺不太靈活,如果
用QT實現字型顏色漸變效果——模擬彩色混光鍵盤
paint.h
#ifndef PAINT_H
#define PAINT_H
#include <QWidget>
#include <QtWidgets>
class Paint : public QWidget
{
Q_OBJECT
css實現背景backgroup漸變效果,相容各個瀏覽器(直接生成)
筆者其實對於css一直是一知半解的狀態。今天公司的需求需要讓背景如圖上所示。
通過度娘找到了一個強大的背景漸變手動設計的網站,在此分享
gradient-editor(國外開發者)
順便獻上自己css程式碼。或許有些用處
background: rgb(
SVG 實現動態模糊動畫效果
今天我們將向大家展示如何製作SVG動態模糊效果,並將其應用於HTML元素的常規JS或CSS動畫。
動態模糊是一種廣泛使用於動態影像和動畫的技術,它能使動作看起來更加平滑自然。
線上演示原始碼下載
動態模糊是靜止影象或一系列影象(如電影或動畫)中快速移動物體的明顯影象拖尾。當記錄的影象在單幀記錄期間發生變化
ionic2 使用tabs+slides實現滑動切換頁面效果
說明
在一個頁面內嵌入多一個tab欄(我是在HomePage中),實現在此頁面中多頁面的滑動切換頁面
此案例也可以用於最外層的tab欄,具體如何實現自己嘗試一下就知道了
實現方法
1.建立一個空的頁面,即使tab跳轉一個空頁面;
@Com
不用ViewPager和Fragment實現滑動頁面的效果
這是一篇被逼出來的文章。
一入SDK深似海,從此jar包是路人,沒錯,你以為我願意不用ViewPager和Fragment啊,因為SDK為了減少包體大小不能用v4的包啊!坑爹的v4包居然有1M多,你們可真能寫啊。我相信一定有朋友會建議說,把v4包裡相關的類摳出
自定義CoordinatorLayout的Behavior,實現ToolBar透明漸變效果
1.佈局
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.a
ViewPager+Fragment 實現滑動頁面的效果
佈局檔案如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Android開發Splash介面亮度的漸變效果
public class WelcomeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstan
微信小程式swiper實現滑動放大縮小效果
<swiper class="swiper-block" previous-margin="90rpx" next-margin="90rpx" current="0" bindchange="swiperChange">
<block wx:for=
如何使用TransitionDrawable實現背景切換漸變效果
使用TransitionDrawable為UI的背景切換新增交錯漸變的過渡效果
上一篇介紹瞭如何使用RippleDrawable為UI新增點選水波紋效果
這一篇將作為介紹Drawable的第二篇,講解如何使用TransitionDrawable來為UI背景切
android viewpager 縱橫向滑動 verticalviewpager根據timer實現自動播放
先看看viewpager怎麼實現的,自定義繼承viewpager 。
之前看到csdn覺得一個寫的不錯,,有很多方法來實現,,可以看看這些部落格
Android ViewPager 垂直滑動 縱向滑動 VerticalViewPager
可以繼續看看這個原始stackoverflow
Android UI控制元件應用分享:如何實現“帶分割線並且Item為正方形”的GridView
首先說個題外話:其實到目前為止,在下寫的部落格並不多~但是每次寫部落格,基本都是因為在這之前做了某些東西,並且為之折磨了很久,看了很多雜亂不一的技術部落格,最終精選出最有效、簡單的方法來達到預期的效果。奠定在這樣的基礎之上,才決定寫些東西做出分享,不想讓後來者也像我
巧用Drawable 實現Android UI 元素間距效果
purple 固定 展示 .com otto 技巧 log contain dev
源文地址: 巧用Drawable 實現Android UI 元素間距效果
在大部分的移動UI或者Web UI都是基於網格概念而設計的。這種網格一般都是有一些對其的方塊組成,然後