Android Cover Flow с эффектом тени изображения

1

Я хочу реализовать поток обложек, как показано ниже.

Изображение 174551

Я пробовал Карусель, но это не то же самое. Не удалось ли найти какой-то поисковый запрос Google даже вблизи потока покрытия, реализованного в данном примере.

Теги:
image
shadow
effects
coverflow

4 ответа

2

Определенно взгляните на это, FancyCoverFlow.

В магазине Play также есть демонстрационное приложение, которое отображает требуемое отражение.

  • 0
    не работает stackoverflow.com/questions/30979903/…
  • 0
    Однако ссылка на вашу страницу не работает, так как прошло более года с тех пор, как я рекомендовал это, и она больше не поддерживается, и есть множество изменений от Lollipop, которые, скорее всего, станут непригодными для использования или менее благоприятными для новых достоинств github. Я, вероятно, подумал бы о поиске чего-то другого К сожалению, я не знаю ни одной альтернативы на данный момент.
0

Я создал виджет с потолочным покрытием, который не зависит от галереи. Вы можете найти это здесь. Я добавлю несколько примеров позже.

http://applm.github.io/ma-components/

0

Вы прошли через Android Coverflow, который немного отличается от карусели, которую вы хотите.

  • 0
    @GrlsHu, он использует представление галереи, которое устарело на уровне API 16 :(, также обзоры показывают, что в нем много ошибок.
  • 0
    Я знаю, что просмотр галереи устарел, не так, как будто она не будет работать.
0

вы пробовали это:

Сообщение блога

public Bitmap getRefelection(Bitmap image) {
  // The gap we want between the reflection and the original image
  final int reflectionGap = 0;

  // Get you bit map from drawable folder
  Bitmap originalImage = image;

  int width = originalImage.getWidth();
  int height = originalImage.getHeight();

  // This will not scale but will flip on the Y axis
  Matrix matrix = new Matrix();
  matrix.preScale(1, -1);

  // Create a Bitmap with the flip matix applied to it.
  // We only want the bottom half of the image
  /*if(bitmapWithReflection!=null && !bitmapWithReflection.isRecycled()){
   bitmapWithReflection.recycle();
   bitmapWithReflection=null;
  }*/
  Bitmap reflectionImage = Bitmap.createBitmap(originalImage, 0,
    height / 2, width, height / 2, matrix, false);

  // Create a new bitmap with same width but taller to fit reflection
  Bitmap bitmapWithReflection = Bitmap.createBitmap(width,(height + height / 2), Config.ARGB_8888);
  // Create a new Canvas with the bitmap that big enough for
  // the image plus gap plus reflection
  Canvas canvas = new Canvas(bitmapWithReflection);
  // Draw in the original image
  canvas.drawBitmap(originalImage, 0, 0, null);
  //Draw the reflection Image
  canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null);

  // Create a shader that is a linear gradient that covers the reflection
  Paint paint = new Paint();
  LinearGradient shader = new LinearGradient(0,
    originalImage.getHeight(), 0, bitmapWithReflection.getHeight()
      + reflectionGap, 0x40ffffff, 0x00ffffff, TileMode.CLAMP);
  // Set the paint to use this shader (linear gradient)
  paint.setShader(shader);
  // Set the Transfer mode to be porter duff and destination in
  paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
  // Draw a rectangle using the paint with our linear gradient
  canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()
    + reflectionGap, paint);
  if(originalImage!=null && originalImage.isRecycled()){
   originalImage.recycle();
   originalImage=null;
  }
  if(reflectionImage!=null && reflectionImage.isRecycled()){
   reflectionImage.recycle();
   reflectionImage=null;
  }
  return bitmapWithReflection;
 }
  • 0
    спасибо @hamad, у вас есть пример потока покрытия, который реализует отражение, как его половину решения моего вопроса :)
  • 0
    да, но сначала опишите мой ответ и пометьте его как ответы для помощи другим, а также посетите этот сайт для получения источника покрытия code.google.com/p/android-coverflow/source/browse
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню