androidgallery顯示-ag真人国际官网
㈠ android gallery 放大至全屏怎麼做
圖片放大的思路:
第一、可以通過matrix對象來變換圖像,在選擇的時候放大,在失去焦點的時候,縮小到原來的大小。
double scale = 1.2;
int width = bm.getwidth();
int height = bm.getheight();
log.i("size:", width "");
float scalewidth = (float)(scale*width);
float scaleheight = (float)(scale*height);
log.i("size:", scalewidth "");
matrix matrix = new matrix();
matrix.postscale(scalewidth, scaleheight);
bm = bitmap.createbitmap(bm, 0, 0, width, height, matrix, true);
第二 、通過動畫
android:interpolator="@android:anim/decelerate_interpolator"
android:fromxscale="1"
android:toxscale="1.1"
android:fromyscale="1"
android:toyscale="1.1"
android:pivotx="50%"
android:pivoty="50%"
android:ration="500">
第三、通過setlayoutparams
view.setlayoutparams(new gallery.layoutparams(150,150));
int mcounts = g.getcount() - 1;
if(position>0 && (position < mcounts)){
g.getchildat(position - 1).setlayoutparams(new gallery.layoutparams(136, 88));
g.getchildat(position 1).setlayoutparams(new gallery.layoutparams(136, 88));
}
if(position == 0){
g.getchildat(position 1).setlayoutparams(new gallery.layoutparams(136, 88));
}
if(position == mcounts){
g.getchildat(position - 1).setlayoutparams(new gallery.layoutparams(136, 88));
}
注釋:其中(136, 88)是gallery中圖片的大小,是在imageadapter裡面設置的。(150,150)是選中圖片放大後的大小,可以隨便設置,只要跟(136, 88)區別就行了,是為了觀察變化,我設置的是150而已。
第四 、通過動畫和layoutparam結合
gallery.setonitemselectedlistener(new onitemselectedlistener(){
@override
public
void onitemselected(adapterview arg0, view arg1,
int arg2, long arg3) {
imageview v = (imageview)arg1;
if(tempview != null && v.hashcode() != tempview.hashcode()){
tempview.setlayoutparams(new gallery.layoutparams(50,50));
}
v.startanimation(tolarge);
tempview = v;
v.setlayoutparams(new gallery.layoutparams(60,60));
//
//v.setlayoutparams(new gallery.layoutparams(130,130));
tvname.settext(templist.get(arg2).getpicname());
}
@override
public
void onnothingselected(adapterview arg0) {
tvname.settext("nothing selected .");
}
});
㈡ 鎬庢牱鍚慳ndroid鐨凣allery閲屽姩鎬佹坊鍔犲浘鐗囷紵
鍥劇墖鎵鎻忓嚭path錛屼嬌鐢―rawable綾葷殑闈欐佹柟娉 createfrompath錛坧ath錛夊緱鍒頒竴涓狣rawable,鎶婅繖涓狣rawable鍔犲叆涓涓鏁扮粍涓銆備嬌鐢˙aseadapter緇戝畾galley錛宎dpter涓鐨刧etcount錛堬級榪斿洖鏁扮粍闀垮害銆
㈢ android畫廊怎樣做出超炫效果
首先來看下面的效果:
從上面的圖片可以看到,當添加多張圖片的時候,能夠在下方形成一個畫廊的效果,我們左右拉動圖片來看我們添加進去的圖片,效果是不是好了很多呢?下面來看看怎麼實現吧!
上面的效果類似android裡面viewpage的效果,但是跟viewpager有所不同,viewpager每次只能顯示一張圖片。
其實我們是利用到了view的clipchildren屬性,我們在這里要把viewpager以及它的父窗體都設置為false,如下:
android:clipchildren="false"
因為如果clipchildren屬性設置為true,就表明我們要將children給clip掉,就是說對於子元素來說,超出當前view的部分都會被切掉,那我們在這里把它設置成false,就表明超出view的部分,不要切掉,依然顯示。
xml代碼部分:
android:id="@ id/container"
android:layout_width="match_parent"
android:layout_height="100dp"
android:clipchildren="false"
android:gravity="center_horizontal"
android:layertype="software"
android:orientation="horizontal" >
android:id="@ id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginleft="110dp"
android:layout_marginright="110dp"
android:clipchildren="false" >
java代碼部分:
// 1.設置幕後item的緩存數目
mviewpager.setoffscreenpagelimit(3);
// 2.設置頁與頁之間的間距
mviewpager.setpagemargin(10);
// 3.將父類的touch事件分發至viewpgaer,否則只能滑動中間的一個view對象
container.setontouchlistener(new view.ontouchlistener() {
@override
public boolean ontouch(view v, motionevent event) {
return mviewpager.dispatchtouchevent(event);
}
});