自定義乙個viewgroup,能夠實現scrollerview的部分功能,並且能夠實現黏性效果,小於一定距離恢復到原來位置,大於一定距離滑動到下乙個view。
public class myscrollview extends viewgroup
public myscrollview (context context, attributeset attrs)
public myscrollview (context context, attributeset attrs, int defstyleattr)
private void initview(context context)
@override
protected void onmeasure(int widthmeasurespec, int heightmeasurespec)
} @override
protected void onlayout(boolean changed, int left, int top, int right, int bottom)
} }@override
public boolean ontouchevent(motionevent event)
int dy = mlasty - y;
// y偏移小於0 滑動已經到上部頂端
if (getscrolly() < 0)
// 滑動已經到下部頂端
if (getscrolly() > getheight() - mscreenheight)
// 滑動相對位移
scrollby(0, dy);
mlasty = y;
break;
case motionevent.action_up:
mend = getscrolly();
int dscrolly = mend - mstart;
if (dscrolly > 0) else
} else else
}break;
} postinvalidate();
return true;
} // 呼叫startscroll()是不會有滾動效果的,只有在computescroll()獲取滾動情況,做出滾動的響應
// computescroll在父控制項執行drawchild時,會呼叫這個方法
@override
public void computescroll()
}}
自定義滾動軸
webkit 這個是谷歌瀏覽器的字首,自定義滾動軸只有谷歌瀏覽器支援。webkit scrollbar 滾動軸整體 webkit scrollbar thumb 滑塊 webkit scrollbar track 滑動軌道 webkit scrollbar button 兩端按鈕 webkit sc...
Android自定義控制項 自定義屬性
自定義屬性的過程 1.在res values資料夾中建立attrs的xml檔案。2.寫入標籤,定義子標籤attr,放入自定義屬性的名稱。format 可以用 來同時使用 1 reference 參考某一資源id 2 color 顏色值 3 boolean 布林值 4 dimension 尺寸值 帶有...
Android自定義View 自定義元件
自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...