Android圓弧形ListView的實現,androidlistview
本文帶大家來實現ListView的圓弧形的分布排列,原理很簡單,就是根據ListView的每個Item的高度來對每一個item進行位移。
首先自訂一個LinearLayout,這是ListView的每個Item的根布局,用來對每個item進行位移的。
下面上代碼:
public class MatrixLinearLayout extends LinearLayout { private int h = 0; private float fullTrans = 40f; public MatrixView(Context context, AttributeSet attrs) { super(context, attrs); } public void setParentHeight(int height) {<pre name="code" class="java"> //傳入ListView的高度 h = height; } @Override protected void dispatchDraw(Canvas canvas) { canvas.save(); int top = getTop(); float trans = calculatetrans(top,h); Matrix m = canvas.getMatrix(); m.preTranslate(-2 / getWidth(), -2 / getHeight()); m.postTranslate(trans, 0); canvas.concat(m); super.dispatchDraw(canvas); canvas.restore(); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } private float calculatetrans(int top,int h){ float result = 0f; if(top <= h/2.349f){ result = (h/2f-top)/(h/7f)*fullTrans; }else if(top > h/2.349f){ result = (top-h/3f)/(h/7f)*fullTrans; } return result; }}
下面大家可以自己寫個demo測試一下啦,就是寫一個ListView,然後用上面自訂的MatrixLinearLayout 作為ListView的item的根布局,自己動手豐衣足食!
android listview 怎實現這種圓角與按下的效果,送分題又來了,快來拿分
靠布局和一點小邏輯就可以做到,具體就是列表本文其實左右有個Margin值,而上面的透明覆蓋層,左右是抵滿的,這樣一來就很簡單了。
可以看我附件的demo,顏色我沒調好,我很不擅長調顏色。但是效果差不多的。
android怎用CheckBox+ListView實現對所選中的Item獲得其Item上多個控制項控制項的值!
分數太少了 啊!!!