最近專案需要用到雙向的seekbar,網上找了好多野不能達到要求,偶然一次機會看到了大眾點評的例子,然後我最他做了優化,並對常用的seekbar做了總結.
向上兩張圖:
比如雙向seekbar
public class ******rangeseekbar extends view
public ******rangeseekbar(context context, attributeset attrs, int defstyle)
private void init(context context, attributeset attrs, int defstyle)
private void initview()
private void initattr(context context, attributeset attrs, int defstyle)
private int measurewidth(int measurespec) else
}return result;
}private int measureheight(int measureheight) else
}return result;
}@override
protected void onmeasure(int widthmeasurespec, int heightmeasurespec)
@override
protected void ondraw(canvas canvas)
private void drawtext(canvas canvas)
@override
public boolean ontouchevent(motionevent event)
// 表示當前按下的滑塊是左邊的滑塊
if (math.abs(xpos - lowercenterx) < bmpwidth / 2)
// //表示當前按下的滑塊是右邊的滑塊
if (math.abs(xpos - uppercenterx) < bmpwidth / 2)
// 單擊左邊滑塊的左邊線條時,左邊滑塊滑動到對應的位置
if (xpos >= linestart && xpos <= lowercenterx - bmpwidth / 2)
// 單擊右邊滑塊的右邊線條時, 右邊滑塊滑動到對應的位置
if (xpos <= lineend && xpos >= uppercenterx + bmpwidth / 2)
break;
case motionevent.action_move:
if (islowermoving)
}if (isuppermoving)
}break;
case motionevent.action_up:
islowermoving = false;
isuppermoving = false;
break;
default:
break;
}return true;
}private int computerange(int range)
private void updaterange()
}public void setonrangechangedlistener(
onrangechangedlistener onrangechangedlistener)
public inte***ce onrangechangedlistener
}
為了方便大家使用我使用了
自定義屬性方便大家配置。
android 打造不同的Seekbar
最近專案需要用到雙向的seekbar,網上找了好多野不能達到要求,偶然一次機會看到了大眾點評的例子,然後我最他做了優化,並對常用的seekbar做了總結.向上兩張圖 比如雙向seekbar public class rangeseekbar extends view public rangeseek...
Android 不同Activity之間的資料傳遞
在activity中呼叫另乙個activity時,需要呼叫startactivity intent i 若需要在呼叫另外乙個activity的同時傳遞資料,那麼就需要利用android.os.bundle物件封裝資料的能力,將欲傳遞的資料或引數,通過bundle來傳遞不同intent之間的資料。bu...
Android基礎 完美打造自己的apk
概述 第三步 選擇好要儲存的路徑,我選擇的是桌面,並且在file name項做好自己 的簽名 我寫的是 zjrstart,緊接著後面的選項要選擇jks,用來生成簽名apk的檔案 第四步 在這裡主要是填寫乙個password,aa代表的是個別名,然後其他項隨波 逐流的填上就行了 第五步 在這裡看到ke...