androideffect
『壹』 怎樣用android實現iphone的suckEffect 收縮效果,如一塊布被抽走
一
『貳』 有沒有用過android sdk裡面的AudioEffect設置音效的
在Android2.3中增加了對音頻混響的支持,這些API包含在android.media.audiofx包中。
一、概述
AudioEffect是android audio framework(android 音頻框架)提供的音頻效果控制的基類。開發者不能直接使用此類,應該使用它的派生類。下面列出它的派生類。
Equalizer
Virtualizer
BassBoost
PresetReverb
EnvironmentalReverb
當創建AudioEffect時,如果音頻效果應用到一個具體的AudioTrack和MediaPlayer的實例,應用程序必須指定該實例的音頻session ID,如果要應用Global音頻輸出混響的效果必須制定Session 0。
要創建音頻輸出混響(音頻 Session 0)要求要有 MODIFY_AUDIO_SETTINGS許可權。
如果要創建的效果在audio framework不存在,那麼直接創建該效果,如果已經存在那麼直接使用此效果。如果優先順序高的對象要在低級別的對象使用該效果時,那麼控制將轉移到優先順序高的對象上,否則繼續停留在此對象上。在這種情況下,新的申請將被監聽器通知。
『叄』 Android如何純java代碼實現字體陰影效果
Android實現純java代碼字體陰影效果,主要是通過activity的draw方法,進行重新繪制,如下代碼:
packagecanvas.test;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.content.Context;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.PorterDuff;
importandroid.graphics.PorterDuff.Mode;
importandroid.graphics.PorterDuffXfermode;
importandroid.graphics.Rect;
importandroid.graphics.RectF;
importandroid.graphics.drawable.Drawable;
importandroid.view.View;
{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(newImageEffect(this));
}
classImageEffectextendsView{
Paintpaint;
publicImageEffect(Contextcontext){
super(context);
paint=newPaint();//初始化畫筆,為後面陰影效果使用。
paint.setAntiAlias(true);//去除鋸齒。
paint.setShadowLayer(5f,5.0f,5.0f,Color.BLACK);//設置陰影層,這是關鍵。
paint.setXfermode(newPorterDuffXfermode(Mode.SRC_IN));
}
@Override
publicvoidonDraw(Canvascanvas){
super.onDraw(canvas);
intposX=20;
intposY=50;
intPicWidth,PicHegiht;
Drawabledrawable=getResources().getDrawable(R.drawable.button);
Drawabledbe=getResources().getDrawable(R.drawable.button).mutate();//如果不調用mutate方法,則原圖也會被改變,因為調用的資源是同一個,所有對象是共享狀態的。
DrawabledrawTest=getResources().getDrawable(R.drawable.button);
Bitmapbmp=BitmapFactory.decodeResource(getResources(),R.drawable.button);
PicWidth=drawable.getIntrinsicWidth();
PicHegiht=drawable.getIntrinsicHeight();
drawTest.setBounds(posX,(2*posY)+PicHegiht,posX+PicWidth,(2*posY)+2*PicHegiht);
drawable.setBounds(posX,posY,posX+PicWidth,posY+PicHegiht);
dbe.setBounds(0,0,PicWidth,PicHegiht);
canvas.drawColor(Color.WHITE);//設置畫布顏色
canvas.save(Canvas.MATRIX_SAVE_FLAG);
dbe.setColorFilter(0x7f000000,PorterDuff.Mode.SRC_IN);
canvas.translate(posX+(int)(0.9*PicWidth/2),posY+PicHegiht/2);//圖像平移為了剛好在原圖後形成影子效果。
canvas.skew(-0.9F,0.0F);//圖像傾斜效果。
canvas.scale(1.0f,0.5f);//圖像(其實是畫布)縮放,Y方向縮小為1/2。
dbe.draw(canvas);//此處為畫原圖像影子效果圖,比原圖先畫,則會在下層。
drawable.clearColorFilter();
canvas.restore();
canvas.save(Canvas.MATRIX_SAVE_FLAG);
drawable.draw(canvas);//此處為畫原圖像,由於canvas有層次效果,因此會蓋在影子之上。
canvas.restore();
//默認無效果原圖
canvas.save(Canvas.MATRIX_SAVE_FLAG);
drawTest.draw(canvas);
canvas.restore();
//圖片陰影效果
canvas.save(Canvas.MATRIX_SAVE_FLAG);
//Rectrect=newRect(2*posX+PicWidth,2*posY+PicHegiht,2*posX+2*PicWidth,2*posY+2*PicHegiht);//此為理論上的陰影圖坐標
Rectrect=newRect(2*posX+PicWidth+3,2*posY+PicHegiht+3,2*posX+2*PicWidth-2,2*posY+2*PicHegiht-2);
//由於圖片的實際尺寸比顯示出來的圖像要大一些,因此需要適當更改下大小,以達到較好的效果
RectFrectF=newRectF(rect);
canvas.drawRoundRect(rectF,10f,10f,paint);//在原有矩形基礎上,畫成圓角矩形,同時帶有陰影層。
canvas.drawBitmap(bmp,2*posX+PicWidth,2*posY+PicHegiht,null);//畫上原圖。
canvas.restore();
}
}
}
『肆』 關於android
更方便快捷的聯系人操作
支持多個 Google 帳戶
添加簡訊內容搜索功能
郵件整合界面
照相模式的更新
聯系人和帳戶
多個帳戶的支持,支持同步多個不同的帳戶同步聯系人及郵件,同時支持 Exchange帳戶.
開發者可以創建一個同步適配器,添加輸入建立同步數據源.
快速的聯系人相關操作,可以基於一個聯系人相關的數據來做相關的事件.例如: 一個用戶可以選擇一個聯系人圖片來給聯系人打電話,發送信息或者郵件等. 同時,其他的應用程序想郵件程序,信息程序,和日歷等都可以添加這個快速聯系人操作 Widget 來支持這個功能.
郵件
支持 Exchange 帳戶.
整合郵件可以在同一個頁面瀏覽郵件和帳戶.
信息
可以搜索手機上保存的簡訊和彩信內容.
設置自動刪除舊的信息.
攝像
Built-in flash support
Digital zoom
Scene mode
White balance
Color effect
Macro focus
Android 虛擬鍵盤
改進的鍵盤布局(keyboard layout)更方便快捷的輸入,更快的輸入速度.
虛擬鍵盤支持多點觸摸.
輸入字元時可以根據輸入的內容列出建議的聯系人名字.
網路瀏覽器
Refreshed UI with actionable browser URL bar enables users to directly
tap the address bar for instant searches and navigation.
書簽支持站點縮略圖(web page thumbnails).
支持兩次按鍵(雙擊)放大頁面.
支持 HTML5:
支持數據 API .
支持應用程序緩存( cache),方便操作支持離線客戶端的程序.
Geolocation API support, to provide location information about the device.
<video> tag support in fullscreen mode.
日歷
Agenda view provides infinite scrolling.
Events indicate the attending status for each invitee.
Invite new guests to events.
新的硬體更新多媒體硬體支持更新
更新的硬體更好的支持多媒體.
藍牙
Bluetooth 2.1
新的藍牙配置: Object Push Profile (OPP) and Phone Book Access Profile (PBAP)
新的Framework APIs
『伍』 如何高效學習Android動畫
自己整個學習過程中的產出的文章動畫系列 - 傳統View動畫與Property動畫基礎及比較 動畫系列 - PropertyAnim 詳解動畫系列 - PropertyAnim 實際應用動畫系列 - ViewPager動畫 Android 動畫基礎 (由於 @Trinea 發起的codeKK 項目下的開源項目原理分析項目android-cn/android-open-project-analysis · GitHub 二期中,很多分析項目涉及到了動畫,所以該篇主要是對PropertyAnim詳解和基礎篇中的一些知識進行整理,作為二期的動畫公共知識,codeKK 絕對是超級棒的項目,大家可以多關注)從傳統View動畫與Property動畫基礎及比較 以及Android 動畫基礎 這兩篇文章,你可以對android動畫總體有些了解,PropertyAnim 詳解這一篇則是專門介紹了3.0出現的屬性動畫,其中也涉及到了JakeWharton大神為3.0之前實現的兼容庫NineOldAndroids。 通過ViewPager來實現動畫效果的方式越來越多,一些視差效果也確實很贊,比如雅虎天氣的視差效果,知乎導航界面中元素的視差,關於它們的實現原理,在 ViewPager動畫 這篇中有詳細的分析,其中也提到了GitHub上一些和ViewPager動畫類似的實現,也分析了它們之間的區別,具體可以參考文章。PropertyAnim 實際應用主要介紹了一些簡單API的使用,亮點是其中介紹了很多GitHub 上的動畫項目,其中實現多數使用了NineOldAndroids兼容庫,可以作為不錯的學習資料。上面幾篇文章中都有非常詳細的介紹,就不多說了,因為文章中對於一些概念,使用,原理介紹的確實太詳細了,現在想起來,當時鑽的確實有點深了,比如PropertyAnim 詳解這篇文章,對屬性動畫中的ValueAnimator,Evaluators,Interpolators的介紹以及TimeInterpolator和TypeEvaluator的比較等等,具體的可以參考文章。這幾篇文章看下來,你應該對android動畫有一些更系統更深入的認識了。基本的動畫實現應該沒啥難度了。每篇文章的信息量很是很大的,因為在學習過程中主要是通過大量的GitHub動畫項目,也參考了不少資料,在文章結尾處有提及。 如果你還想進階,這里再分享一些不錯的項目,這些項目都是在android動畫基礎上建立起來的,所以看他們的源碼,完全沒有難度:
『陸』 如何在Android中使用虛線
android開發中虛線的用法:
一、自己創建模式,一個點一個點的繪制。
二、用Android提供的 DashPathEffect 類來創建模式繪制。
下面我要演示的就是第二種方法,用Android提供給我的API來繪制。
由於是開發項目的一個小塊,下面只能給出部分截圖:
下面看一下核心繪圖代碼:
public void draw(Canvas mcanvas) {
GameLog.log(Tag, "draw");
Paint mLinePaint = new Paint();
mLinePaint.setColor(Color.WHITE);
mLinePaint.setStyle(Paint.Style.STROKE);
//繪制模式
PathEffect effect = new DashPathEffect(new float[] { 1, 2, 4, 8}, 1);
mLinePaint.setAntiAlias(true);
mLinePaint.setPathEffect(effect);
mLinePaint.setStrokeWidth(4);
if (GameManager.getState() == GameManager.GameStart) {
GameLog.log(Tag, "GameStart");
float[] oldPts = getPts(mOldPoints);
mCanvas.drawLines(oldPts, mLinePaint);
prepareLinesData();
float[] newPts = getPts(mNewPoints);
mCanvas.drawLines(newPts, mLinePaint);
}
}
簡單介紹下 PathEffect類:
PathEffect是用來控制繪制輪廓(線條)的方式。
PathEffect對於繪制Path基本圖形特別有用,但是它們也可以應用到任何Paint中從而影響線條繪制的方式。
使用PathEffect,可以改變一個形狀的邊角的外觀並且控制輪廓的外表。
Android包含了多個PathEffect,包括:
CornerPathEffect 可以使用圓角來代替尖銳的角從而對基本圖形的形狀尖銳的邊角進行平滑。
DashPathEffect 可以使用DashPathEffect來創建一個虛線的輪廓(短橫線/小圓點),而不是使用實線。你還可以指定任意的虛/實線段的重復模式。
DiscretePathEffect 與DashPathEffect相似,但是添加了隨機性。當繪制它的時候,需要指定每一段的長度和與原始路徑的偏離度。
PathDashPathEffect 這種效果可以定義一個新的形狀(路徑)並將其用作原始路徑的輪廓標記。
下面的效果可以在一個Paint中組合使用多個Path Effect。
SumPathEffect 順序地在一條路徑中添加兩種效果,這樣每一種效果都可以應用到原始路徑中,而且兩種結果可以結合起來。
ComposePathEffect 將兩種效果組合起來應用,先使用第一種效果,然後在這種效果的基礎上應用第二種效果。
對象形狀的PathEffect的改變會影響到形狀的區域。這就能夠保證應用到相同形狀的填充效果將會繪制到新的邊界中。
『柒』 Android的界面是如何適配多樣化屏幕
在研究Android的icon設計之前,有必要先了解Android的界面是如何適配多樣化屏幕的。
適配性
上一篇博文中提到,由於同一個UI元素(如100 x100像素的圖片)在高精度的屏幕上要比低精度的屏幕上看起來要小,為了讓這兩個屏幕上的圖片看起來效果差不多,可以採用以下兩種方法:
程序將圖片進行縮放,但是效果較差。
為這兩個精度屏幕的手機各提供一個圖片。
三種尺寸:大,中,小。
三種精度:高(hdpi),中(mdpi)和低(ldpi)。
但是屏幕的參數多樣化,為每一個精度的屏幕都設計一套icon,工作量大並且不能滿足程序的兼容性要求,勢必要對屏幕的分級,如在160dpi和180dpi的手機屏幕上採用同一套icon,當這套icon在240dpi效果滿足不了設計要求,就需要另做一套稍大些的icon。
在Android 1.5以及更早的版本中,只支持3.2″ 屏幕上的HVGA (320×480)解析度,開發人員也不需要考慮界面的適配性問題。從Android 1.6之後,平台支持多種尺寸和解析度的設備,這也就意味著開發人員在設計時要考慮到屏幕的多樣性。
為了簡化設計並且兼容更多的手機屏幕,平台依照尺寸和解析度對屏幕進行了區分:
程序可以為這三種尺寸的屏幕提供默認資源,如有需要,還可以為各種精度的屏幕提供資源。在運行時,系統會根據屏幕布局載入正確尺寸或者精度的圖片。

iPhone的icon設計就這么簡單,iPhone的屏幕只有320×480像素,所以程序沒有適配性問題。
參考文章:
《Icon Design Guidelines, Android 2.0》
《iPhone human interface guidelines》
本文由站酷網-zystoo翻譯,轉載請保留此信息,多謝合作。
『捌』 安卓手機上有哪些好用的視頻剪輯軟體
手機版ae--視頻豆豆功能詳述推薦使用視頻豆豆,這款軟體相對來說比較專業,都是基於pc端的ae(也就是after
effect)有很多是這款軟體首創且特有的功能,像巧影還有video
leap一樣支持關鍵幀動畫,還比前2種軟體更精確,因為它有具體的參數可以調節,能做出開門看到演唱會啊,流星雨啊等等特效,說白了是用遮罩做的,但是前2個軟體的缺點就是不能自定義遮罩,如果遇到一些比較復雜點的形狀的就做不了
了,而視頻豆豆則可以使用自定義遮罩來解決這點
另外視頻豆豆特有的可以支持到一幀的修剪、形狀,圖片,視頻,文字3d動畫,形狀,文字填充及描邊動畫等等。
1、支持超多圖層素材(視頻、GIF、文字、貼紙、形狀、顏色層(ae固態層)、調整層、音頻)之前有用戶說他做了個300多層軌道的,我表示很佩服
2、修剪、拆分、
3、可以替換圖片(如果當前圖片做了一些比如位移,縮放,旋轉,3d,遮罩等動畫效果,那麼替換之後的圖片也繼承保留了之前的這些)
3、變速、倒放、反復(鬼畜)、凍結幀
4、音頻分離
5、精準設置素材時長(包括GIF)
6、精準定位素材起始時間
7、同時選中多個圖層進行移動、縮放、旋轉、刪除等操作
8、序列圖層
9、快照、保存當前圖層、
10、視頻、圖片、GIF圖片的裁剪
11、融合模式
12、一鍵添加本地字體
13、動畫製作
14、遮罩動畫(可以自定義遮罩以及做動畫)
15、特效動畫(可做動畫的特效)
16、3D文字、3d圖片
17、文字以及文字的顏色,描邊顏色,間距,行距,范圍動畫
18.形狀以及自定義形狀,動畫(路徑、修剪路徑、描邊,填充等動畫)
『玖』 我怎樣才能工作與Android EffectFactory類
試試這個
****************** For Sepia effect ******************
public Bitmap toSephia(Bitmap bmpOriginal)
{
int width, height, r,g, b = 0, c, gry;
height = bmpOriginal.getHeight();
width = bmpOriginal.getWidth();
int depth = 20;
Bitmap bmpSephia = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmpSephia);
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setScale(.3f, .3f, .3f, 1.0f);
ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
paint.setColorFilter(f);
canvas.drawBitmap(bmpOriginal, 0, 0, paint);
int [] pixelArray = new int [bmpOriginal.getWidth()*bmpOriginal.getHeight()] ;
bmpOriginal.getPixels(pixelArray, 0, bmpOriginal.getWidth(), 0, 0, bmpOriginal.getWidth(), bmpOriginal.getHeight());
for(int i=0 ; i<pixelArray.length; i ++){
r = (pixelArray[i] >> 16) & 0xFF; //Isolate Red Channel value...
g = (pixelArray[i] >> 8) & 0xFF; //Isolate Green Channel value...
g = pixelArray[i] & 0xFF; //Isolate Blue Channel value...
gry = (r + g + b) / 3;
r = g = b = gry;
r = r + (depth * 2);
g = g + depth;
if(r > 255) {
r = 255;
}
if(g > 255) {
g = 255;
}
pixelArray[i] = Color.rgb(r, g, b) ;
}
return Bitmap.createBitmap(pixelArray, width, height, Config.ARGB_8888) ;
}
****************** For Grayscale effect ******************
public Bitmap toGrayscale(Bitmap bmpOriginal)
{
int width, height;
height = bmpOriginal.getHeight();
width = bmpOriginal.getWidth();
Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
Canvas c = new Canvas(bmpGrayscale);
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
paint.setColorFilter(f);
c.drawBitmap(bmpOriginal, 0, 0, paint);
return bmpGrayscale;
}
『拾』 安卓手機控制音效聲道一類的文件夾在哪
安卓手機控制音效聲道一類的位置在/media/audio,系統各個文件夾位置為:
1、/dev 這里是Linux系統常規文件夾,裡面的文件很多都是設備模擬的文件系統,一般用戶無需理會。
2、/system/fonts 這裡面保存著系統的字體,如果你有root許可權,可以往裡添加自己喜歡的字體,比如雅黑。
3、/system/framework 這里是android系統的框架,裡面保存著系統核心程序或java類庫,十分重要裡面的任何文件幾乎都不要做刪除操作。
4、/media/audio 這裡面保存著安卓系統默認的鈴聲,alarms是鬧鈴提醒的,notification是簡訊或提示音,ringtones是來電鈴聲,而ui是一些界面音效,比如鍵盤敲擊聲。
