Android UI 簡單模仿轉轉乙個輪播效果

2021-09-11 12:42:32 字數 2045 閱讀 9914

簡單模仿轉轉輪播效果

沒有用自定義view,而是用自定義drawable,這樣更靈活。drawable可以作為背景設定在任何view上。用viewpager.addonpagechanglistener監聽滑動。主要邏輯在於判斷當前的item和下乙個item,先繪製當前item,然後判斷下乙個item的方向,設定圓心,增加半徑畫乙個圓,覆蓋在當前item背景上。

package com.xunevermore.drawable;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.colorfilter;

import android.graphics.paint;

import android.graphics.path;

import android.graphics.pixelformat;

import android.graphics.rect;

import android.graphics.drawable.drawable;

import android.support.annotation.nonnull;

import android.support.annotation.nullable;

import android.support.v4.view.viewpager;

import android.util.log;

import com.xunevermore.bgsourse;

import com.xunevermore.ibgsourseprovider;

/** * created by administrator on 2017/12/21 0021.

*/public class magicdrawable extends drawable implements viewpager.onpagechangelistener

private paint paint = new paint(paint.anti_alias_flag);

public void setupwithviewpager(viewpager viewpager)

public ibgsourseprovider getbgsourseprovider

() public void setbgsourseprovider(ibgsourseprovider bgsourseprovider)

@override

public void draw(@nonnull canvas canvas)

moffset = 1 - moffset;

cy = bounds.height() / 2;

} else

}if (moffset > range)

canvas.restore();

}@override

public void setalpha(int alpha)

@override

public void setcolorfilter(@nullable colorfilter colorfilter)

@override

public int getopacity

() private static final string tag = "magicdrawable";

@override

public void onpagescrolled(int position, float positionoffset, int positionoffsetpixels)

} else

}invalidateself();

}@override

public void onpageselected(int position)

@override

public void onpagescrollstatechanged(int state)

}複製**

github 原始碼

簡單模式Hello World

功能 乙個生產者p傳送訊息到佇列q,乙個消費者c接收 生產者實現思路 建立連線工廠connectionfactory,設定服務位址127.0.0.1,埠號5672,設定使用者名稱 密碼 virtual host,從連線工廠中獲取連線connection,使用連線建立通道channel,使用通道cha...

簡單asp類模仿

現在才發現asp裡面也可以自己寫一些類,而且基本上和其他語言差不多,所以就自己寫了乙個試試,嘿嘿!紀年一下!class clsdsj private p error,p author,p weburl public property get version version dsj 1.0.0 bet...

Java簡單模式的簡單例子

某些具有相同屬性的事物,根據使用者發出指令到第三方,第三方自動幫你匹配到你需要的事物。舉個例子 有乙個工廠,裡面有3條流水線,一條生產 寶馬,一條生產 賓士,一條 法拉利。這三種都屬於車,當你需要一輛車時,你跟廠家說 給我 來量車。廠家就會問 你要什麼車,你說 給我來輛寶馬。廠家 好的,就來。你不需...