Android控制項Gallery3D效果

2021-08-26 07:56:39 字數 2428 閱讀 1284

[img]

效果圖如下:

貼上**:

1.擴充套件gallery:

public class galleryflow extends gallery

public galleryflow(context context, attributeset attrs)

public galleryflow(context context, attributeset attrs, int defstyle)

public int getmaxrotationangle()

public void setmaxrotationangle(int maxrotationangle)

public int getmaxzoom()

public void setmaxzoom(int maxzoom)

private int getcenterofcoverflow()

private static int getcenterofview(view view)

//控制gallery中每個的旋轉(重寫的gallery中方法)

protected boolean getchildstatictransformation(view child, transformation t) else

transformimagebitmap((imageview) child, t, rotationangle);

}return true;

}protected void onsizechanged(int w, int h, int oldw, int oldh)

private void transformimagebitmap(imageview child, transformation t,

int rotationangle)

// 在y軸上旋轉,對應豎向向里翻轉。

// 如果在x軸上旋轉,則對應橫向向里翻轉。

mcamera.rotatey(rotationangle);

mcamera.getmatrix(imagematrix);

imagematrix.pretranslate(-(imagewidth / 2), -(imageheight / 2));

imagematrix.posttranslate((imagewidth / 2), (imageheight / 2));

mcamera.restore();}}

2.填充容器(baseadapter):

public class imageadapter extends baseadapter

/*** 建立倒影效果

* @return

*/public boolean createreflectedimages()

return true;

}@suppresswarnings("unused")

private resources getresources()

public int getcount()

public object getitem(int position)

public long getitemid(int position)

public view getview(int position, view convertview, viewgroup parent)

public float getscale(boolean focused, int offset)

}3.建立activity:

public class gallery3dactivity extends activity ;

imageadapter adapter = new imageadapter(this, images);

adapter.createreflectedimages();//建立倒影效果

galleryflow galleryflow = (galleryflow) this.findviewbyid(r.id.gallery01);

galleryflow.setfadingedgelength(0);

galleryflow.setspacing(-100); //之間的間距

galleryflow.setadapter(adapter);

galleryflow.setonitemclicklistener(new onitemclicklistener()

});galleryflow.setselection(4);}}

包名要寫全 com.dx.gallery3dactivity.galleryflow

以上實現**裡面我都做了注釋相信大家完全可以看懂。稍微解釋下,在baseadapter中主要做了的倒影效果以及建立了對原始和倒影的顯示區域。galleryflow中主要做了對的旋轉和縮放操作,根據的螢幕中的位置對其進行旋轉縮放操作。

Android控制項

edittext是輸入文字框,可以進行文字編輯 imageview是顯示的乙個控制項 android id 控制項的id android layout width 控制項的寬度 android layout height 控制項的高度 還有一下屬性 android text 文字內容 android...

Android時間控制項

在寫滾輪時間控制項時,時間控制項中傳過去一時間,經過date轉換成calendar時,發現時間發生了變化,後來想方設 法把時間控制項在pad上修改好,在另一型號的pad上執行發現時間還是發生了錯位,例如2016 1 26,date轉換成 calendar後,變成了2016 1 25,發現這個問題很是...

Android控制項架構

android中的控制項分為兩大類,乙個是viewgroup和view,viewgroup作為父控制項,可以包含很多view和viewgroup,通過viewgroup 我們的控制項形成了乙個以viewgroup為核心的控制項樹,上層負責下層的繪製和測量,並傳遞互動事件.在這樣一棵樹的頂部,我們把這...