0
我有一個TableLayout的單元格爲ImageView
s。我想要做的是通過增加表格中的ImageView
s的大小來創建縮放效果。這適用於縮小(圖片大小調整爲ImageView
),但問題在於放大。圖片不會在ImageView
變大時調整大小。ImageView圖像不調整與ImageView的大小
下面是一個例子:
我想要的圖像是尺寸爲ImageView的相同(每個黑色方塊是一個ImageView的)
這裏是我的變焦代碼(在任何提示更好的實施將不勝感激,不想使用捏縮放)。
zoomIndex ranges from -2, 2. (only allow them to zoom twice in each direction)
zoomInThreshold = 2, zoomOutThreshold = -2.
defaultSize = 50, zoomIncrement = 15;
if(zoomIndex < zoomInThreshold)
defaultSize += zoomIncrement;
for(int i = 0; i < table.getChildCount(); ++i)
{
TableRow row = (TableRow)table.getChildAt(i);
for(int r = 0; r < row.getChildCount(); ++r)
{
ImageView img = (ImageView)row.getChildAt(r);
if(zoomIndex < zoomInThreshold)
{
TableRow.LayoutParams imgLayoutParams = new TableRow.LayoutParams(
defaultSize,
defaultSize
);
img.setLayoutParams(imgLayoutParams);
if(img.getDrawable() != null)
{
img.setAdjustViewBounds(true);
img.setMaxHeight(defaultSize);
img.setMaxWidth(defaultSize);
img.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
}
}
}
}
if(zoomIndex < zoomInThreshold)
zoomIndex++;
你應該爲此提供賞金:) –
我只能在2天內開始賞金 – john