簡體   English   中英

我使用Palette.From(bitmap).Generate()崩潰,如何正確使用?

[英]I get a crash using Palette.From(bitmap).Generate(), how do I use correctly?

我正在嘗試為Android(Eclipse IDE)上的調色板生成顏色。 運行后,手機會發生死機。 顯然我沒有正確使用API​​,但是在搜索中,關於如何使用palette.From(bitmap).Generate()的信息很少。 我有這個代碼

import android.support.v7.graphics.Palette;
import android.support.v7.graphics.Palette.PaletteAsyncListener;
import android.support.v7.graphics.Palette.Builder;
....

int vibrant, vibrantLight, vibrantDark, muted, mutedLight, mutedDark;
public Palette palette;

void decodeColors2(){
    ....
    myBitmap = Bitmap.createScaledBitmap(bm, rWidth, rHeight, false); 

    palette = Palette.from(myBitmap).generate();


    vibrant = palette.getVibrantColor(0x000000);
    vibrantLight = palette.getLightVibrantColor(0x000000);
    vibrantDark = palette.getDarkVibrantColor(0x000000);
    muted = palette.getMutedColor(0x000000);
    mutedLight = palette.getLightMutedColor(0x000000);
    mutedDark = palette.getDarkMutedColor(0x000000);

}

請任何人讓我知道我在做錯什么,以及如何更正我的代碼以使其全面運行而不是崩潰。

另外,我如何使用Palette.Builder(位圖,數字)? 編輯:崩潰日志:

11-07 19:00:33.135: E/AndroidRuntime(31684): FATAL EXCEPTION: main
11-07 19:00:33.135: E/AndroidRuntime(31684): java.lang.NoClassDefFoundError: android.support.v7.graphics.Palette
11-07 19:00:33.135: E/AndroidRuntime(31684):    at com.example.liveideas.Liveideas.decodeColors2(Liveideas.java:699)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at com.example.liveideas.Liveideas$3.onPictureTaken(Liveideas.java:264)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at android.hardware.Camera$EventHandler.handleMessage(Camera.java:823)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at android.os.Looper.loop(Looper.java:137)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at android.app.ActivityThread.main(ActivityThread.java:4921)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at java.lang.reflect.Method.invokeNative(Native Method)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at java.lang.reflect.Method.invoke(Method.java:511)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
11-07 19:00:33.135: E/AndroidRuntime(31684):    at dalvik.system.NativeStart.main(Native Method)
11-07 19:02:04.585: W/Sensors(31684): sensorservice died [0x4d9e3660]
11-07 19:02:04.605: I/Process(31684): Sending signal. PID: 31684 SIG: 9
11-07 19:02:04.605: E/AndroidRuntime(31684): Error reporting crash
11-07 19:02:04.605: E/AndroidRuntime(31684): android.os.DeadObjectException
11-07 19:02:04.605: E/AndroidRuntime(31684):    at android.os.BinderProxy.transact(Native Method)
11-07 19:02:04.605: E/AndroidRuntime(31684):    at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:3305)
11-07 19:02:04.605: E/AndroidRuntime(31684):    at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:121)
11-07 19:02:04.605: E/AndroidRuntime(31684):    at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
11-07 19:02:04.605: E/AndroidRuntime(31684):    at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
11-07 19:02:04.605: E/AndroidRuntime(31684):    at dalvik.system.NativeStart.main(Native Method)

謝謝

您可能沒有正確定義支持庫。 根據文檔:

要將沒有資源的支持庫添加到您的應用程序項目:

使用Eclipse

確保已使用SDK Manager下載了Android支持庫。 在應用程序項目的根目錄中創建一個libs /目錄。 將JAR文件從Android SDK安裝目錄(例如/extras/android/support/v4/android-support-v4.jar)復制到應用程序的項目libs /目錄中。 右鍵單擊JAR文件,然后選擇“構建路徑”>“添加到構建路徑”。

在您的情況下,您需要android-support-v7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM