當前位置:首頁 » 安卓系統 » android下拉圖片放大

android下拉圖片放大

發布時間: 2022-07-01 17:24:54

1. android中如何動態修改ImageView中圖片的大小 比如說點擊該圖片後圖片能變大

使用點陣圖(Bitmap)再重新繪制遍

//原點陣圖

Bitmap btm1 = BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.hh);

BitmapDrawable bd1=BitmapDrawable(btm1);

imageView.setBackgroundDrawable(bd1);

放大後 滑動時計算 圖片的邊是否在屏幕外,如果在屏幕外就可移動,比如 向上滑動,是想看圖片下面的部分,此時計算圖片的底邊是否在屏幕外,如果是,就可以向上移動圖片。

Scaletype的設置的方式包括:

1、在layout xml中定義android:scaleType="CENTER"

2、或在代碼中調用imageView.setScaleType(ImageView.ScaleType.CENTER);

(1)android下拉圖片放大擴展閱讀:

根據位深度,可將點陣圖分為1、4、8、16、24及32點陣圖像等。每個像素使用的信息位數越多,可用的顏色就越多,顏色表現就越逼真,相應的數據量越大。

例如,位深度為 1 的像素點陣圖只有兩個可能的值(黑色和白色),所以又稱為二值點陣圖。位深度為 8 的圖像有 2^8(即 256)個可能的值。位深度為 8 的灰度模式圖像有 256 個可能的灰色值。

RGB圖像由三個顏色通道組成。8 位/通道的 RGB 圖像中的每個通道有 256 個可能的值,這意味著該圖像有 1600 萬個以上可能的顏色值。

有時將帶有 8 位/通道 (bpc) 的 RGB 圖像稱作 24 點陣圖像(8 位 x 3 通道 = 24 位數據/像素)。通常將使用24位RGB組合數據位表示的的點陣圖稱為真彩色點陣圖。

2. android開發,實現下面圖片中的背景圖片放大的效果,下拉背景圖片變大,鬆手後,可以回到原來圖片大小。

滑動的時候動態改變ImageView的scaleX和scaleY就好了。比如你滑動100px需要方法1.5倍,那就在onScroll的時候計算出滑動距離,設置相應的scale。具體的可以參考下NoBoringActionbar,實現原理差不多。

3. Android中如何實現圖片的放大功能(手機相冊里的那種效果)

你是要代碼實現還是操作?
要代碼我有源代碼。要是操作上的問題那就是我理解錯你問題了。
/* import相關class */
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;

public class EX04_23 extends Activity
{
/* 相關變數聲明 */
private ImageView mImageView;
private Button mButton01;
private Button mButton02;
private RelativeLayout layout1;
private Bitmap bmp;
private int id=0;
private int displayWidth;
private int displayHeight;
private float scaleWidth=1;
private float scaleHeight=1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* 載入main.xml Layout */
setContentView(R.layout.main);

/* 取得屏幕解析度大小 */
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
displayWidth=dm.widthPixels;
/* 屏幕高度須扣除下方Button高度 */
displayHeight=dm.heightPixels-80;
/* 初始化相關變數 */
bmp=BitmapFactory.decodeResource(getResources(),R.drawable.ex04_23);
mImageView = (ImageView)findViewById(R.id.myImageView);
layout1 = (RelativeLayout)findViewById(R.id.layout1);
mButton01 = (Button)findViewById(R.id.myButton1);
mButton02 = (Button)findViewById(R.id.myButton2);

/* 縮小按鈕onClickListener */
mButton01.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
small();
}
});

/* 放大按鈕onClickListener */
mButton02.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
big();
}
});
}

/* 圖片縮小的method */
private void small()
{
int bmpWidth=bmp.getWidth();
int bmpHeight=bmp.getHeight();
/* 設定圖片縮小的比例 */
double scale=0.8;
/* 計算出這次要縮小的比例 */
scaleWidth=(float) (scaleWidth*scale);
scaleHeight=(float) (scaleHeight*scale);

/* 生成reSize後的Bitmap對象 */
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizeBmp = Bitmap.createBitmap(bmp,0,0,bmpWidth,bmpHeight,matrix,true);

if(id==0)
{
/* 如果是第一次按,就移除原來設定的ImageView */
layout1.removeView(mImageView);
}
else
{
/* 如果不是第一次按,就移除上次放大縮小所生成的ImageView */
layout1.removeView((ImageView)findViewById(id));
}
/* 產生新的ImageView,放入reSize的Bitmap對象,再放入Layout中 */
id++;
ImageView imageView = new ImageView(EX04_23.this);
imageView.setId(id);
imageView.setImageBitmap(resizeBmp);
layout1.addView(imageView);
setContentView(layout1);

/* 因為圖片放到最大時放大按鈕會disable,所以在縮小時把他重設為enable */
mButton02.setEnabled(true);
}

/* 圖片放大的method */
private void big()
{
int bmpWidth=bmp.getWidth();
int bmpHeight=bmp.getHeight();
/* 設定圖片放大的比例 */
double scale=1.25;
/* 計算這次要放大的比例 */
scaleWidth=(float)(scaleWidth*scale);
scaleHeight=(float)(scaleHeight*scale);

/* 產生reSize後的Bitmap對象 */
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizeBmp = Bitmap.createBitmap(bmp,0,0,bmpWidth,bmpHeight,matrix,true);

if(id==0)
{
/* 如果是第一次按,就移除原來設定的ImageView */
layout1.removeView(mImageView);
}
else
{
/* 如果不是第一次按,就移除上次放大縮小所生成的ImageView */
layout1.removeView((ImageView)findViewById(id));
}
/* 產生新的ImageView,放入reSize的Bitmap對象,再放入Layout中 */
id++;
ImageView imageView = new ImageView(EX04_23.this);
imageView.setId(id);
imageView.setImageBitmap(resizeBmp);
layout1.addView(imageView);
setContentView(layout1);

/* 如果再放大會超過屏幕大小,就把Button disable */
if(scaleWidth*scale*bmpWidth>displayWidth||scaleHeight*scale*bmpHeight>displayHeight)
{
mButton02.setEnabled(false);
}
}
}

4. android 中怎麼實現多圖自動輪播中間放大的效果

1,頂部輪播圖,自動輪播效果。

2,頂部的viewpager 可隨著下拉圖片有漸變大的效果。

使用方法:
1,帶輪播圖的自定義ScrollView ,在項目中的名字叫ViewPagerImageScrollView,主要是通過圖片的matrix.postScale(scale, scale, imgHeight/2, 0); 這個來進行當大圖片。

5. android 如何實現圖片放大剛開始顯示正常的圖片,最後要停在放大後的圖片。

ANDROID有一個放大鏡的圖標,你點擊加就放大,點擊減就縮小,或者用兩只手滑大滑小。

6. 您好,android里如何把圖片放大超過屏幕大小和拖動呢就像相冊里一樣。我試過很多辦法都不行。

是要編寫一個這樣的功能么,android提供的API裡面一般圖片都是Bitmap,可以通過Canvas.drawBItMap的方法在View進行圖片的繪制,在方法中需要進行傳入一個類型為Matrix的參數,設置Martrix的一些參數就可以進行圖片的放大的繪制,這只是顯示,也就是MVC中的View層,然後通過提供的一些觸摸函數的重寫並實現自己需要的一些功能,如拖動,實際上就是改變BitMap繪制的位置。關於觸摸的處理和圖片的繪制可以在網上進行一些教程的搜索,我就不羅列了,最終就是需要通過控制函數來改變圖片的繪制方式,這也許就是你所需要的功能。

7. Android 怎樣實現圖片放大縮小,上一頁,下一頁

用AsynTask載入網路圖片,可以看下我以前發的博客http://code.eoe.cn/1965.html。下載網路圖片的代碼寫在MainActivity.java裡面的private class DownloadTask extends AsyncTask<String, Integer, List<RowItem> >{}

8. android中有方法可以對圖片進行縮放嗎(不是縮放畫布,是真的改變了原來圖片的大小)

scaleType:CENTER /center 在視圖中心顯示圖片,並且不縮放圖片CENTER_CROP / centerCrop 按比例縮放圖片,使得圖片長 (寬)的大於等於視圖的相應維度CENTER_INSIDE / centerInside 按比例縮放圖片,使得圖片長 (寬)的小於等於視圖的相應維度FIT_CENTER / fitCenter 按比例縮放圖片到視圖的最小邊,居中顯示FIT_END / fitEnd 按比例縮放圖片到視圖的最小邊,顯示在視圖的下部分位置FIT_START / fitStart 把圖片按比例擴大/縮小到視圖的最小邊,顯示在視圖的上部分位置FIT_XY / fitXY 把圖片不按比例縮放到視圖的大小顯示MATRIX / matrix 用矩陣來繪制 到安卓巴士網站查看回答詳情>>

9. android 圖片放大預覽怎麼做

那就彈出一個dialog,設置dialog.setContentView(imageView);當然也可以自定義dialog的布局

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:640
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:86
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:794
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:346
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:816
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:367
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:594