Я пытаюсь создать цвета для палитры на Android (Eclipse IDE). После запуска на телефоне происходит зависание. Видимо, я не правильно использую API, но при поиске очень мало информации о том, как использовать палитру. Из (растрового) .Generate(); У меня этот кодЯ получаю сбой с использованием 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 (bitmap, number)? EDIT: сбой журнала:
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)
Благодаря
Где вы поместите этот код? В onCreate()? И, пожалуйста, добавьте журнал сбоев – yshahak
Я поместил его в функцию void decodeColors2() {...} – user4666
Я отредактировал код, чтобы указать это – user4666