Android 打造萬能圓點指示器

2021-07-11 03:13:33 字數 3711 閱讀 7354

1.首先自定義圓點的屬性,動態顯示,比較方便修改圓點的顏色,取名為:attrs.xml

<?xml version="1.0" encoding="utf-8"?>

name="xcircleindicator">

name="fillcolor"

format="color" />

name="strokecolor"

format="color" />

name="radius"

format="dimension" />

name="circleinterval"

format="dimension" />

declare-styleable>

resources>

2.自定義xcircleindicator繼承自view

/**

* @author 作者名 易皇星

* @email 郵箱名 [email protected]

* @time 2016-4-11 2016-05

* @todo 緣分是本書,翻得不經意會錯過,讀得太認真會流淚!

*/

public

class

xcircleindicator

extends

view

public

xcircleindicator(context context, attributeset attrs) catch (exception e) finally

}//設定當前應顯示圓點的總數

public

void

initdata(int count, int contentwidth)

//設定當前圓點

public

void

setcurrentpage(int currentpage)

public

void

setpagetotalcount(int pagetotalcount)

private

void

initcolors(int fillcolor, int strokecolor)

//設定 被選中圓點的顏色

public

void

setfillcolor(int color)

//設定 未選中圓點的顏色

public

void

setstrokecolor(int color)

// 圓點間間距的大小

public

void

setcircleinterval(int circleinterval)

// 圓點的大小

public

void

setradius(int radius)

@override

protected

void

onmeasure(int widthmeasurespec, int heightmeasurespec)

@override

protected

void

ondraw(canvas canvas)

int cx = 0;

cx = (2 * radius + circleinterval) * currentpage;

canvas.drawcircle(getpaddingleft() + radius + cx, getpaddingtop()

+ radius, radius, mpaintfill);

}private

intmeasurewidth(int measurespec) else

}return result;

}private

intmeasureheight(int measurespec)

// measure the height

else

}return result;

}public

void

onscrolled(int h, int v, int oldh, int oldv)

}

3.看看activity_main.xml

""

xmlns:tools=""

xmlns:indicator=""

android:layout_width="match_parent"

android:layout_height="match_parent">

.support

.v4.view

.viewpager

android:id="@+id/viewpager"

android:layout_width="match_parent"

android:layout_height="match_parent"

/>

.example

.circleindicator

.xcircleindicator

android:id="@+id/xcircleindicator"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignparentbottom="true"

android:layout_centerhorizontal="true"

android:layout_marginbottom="10dp"

indicator:circleinterval="10dp"

indicator:fillcolor="#f96a0e"

indicator:radius="5dp"

indicator:strokecolor="#cecece" />

4.maintivity

public

class

mainactivity

extends

activity

@override

public

void

onpagescrolled(int arg0, float arg1, int arg2)

@override

public

void

onpagescrollstatechanged(int arg0)

});}

class viewpageradapter extends pageradapter

@override

public int getcount()

@override

public boolean isviewfromobject(view arg0, object arg1)

@override

public void destroyitem(view container, int position, object object)

//這個方法用來例項化頁卡

@override

public object instantiateitem(view container, int position)

}

萬能密碼 php,PHP萬能密碼

說實話如果乙個 的前台都是注入漏洞,那麼憑經驗,萬能密碼進後台的機率基本上是百分之百。可是有的人說對php的站如果是gpc魔術轉換開啟,就會對特殊符號轉義,就徹底杜絕了php注入。其實說這話的人沒有好好想過,更沒有嘗試過用萬能密碼進php的後台。其實gpc魔術轉換是否開啟對用萬能密碼進後台一點影響也...

Android開發萬能圓角ImageView

作者簡介 正文 最近一兩個月沒事做,然後就開始封裝一些東西,昨天上司讓我幫他做的圓角。思路自然是和網上的demo不一樣的。網上demo的效果 差不多應該是這樣的,但是容易出一些問題,比如你的本身就是個圓角?又或者太大,你想縮小顯示,但出現顯示內容不全?我想實現的效果是這樣的 圖畫的較醜,見諒。意思就...

mysql萬能 Mysql的萬能優化方法

在命令列執行 1.檢視優化器狀態 show variable like optimizer trace 2.會話級別臨時開啟 set session optimizer trace enabled on end markers in json on 3.設定優化器追蹤的記憶體大小 set optim...