2013-11-28 54 views
0

我使用Android-Query將圖像加載到webview中,因此我可以使用該特定視圖附帶的縮放功能。Android查詢可縮放Web圖像 - 適合查看

現在,我加載的圖像比它們寬,因此,在我的佈局,正在裁剪(無法看到圖像的底部)。

是否有反正我可以改變我的代碼強制加載的圖像縮放以適應視圖?該文件說...

除了ImageView,WebView可用於顯示圖像 與Android構建在WebView的縮放支持。圖片將以 爲中心,並填充webview的寬度或高度,具體取決於它的 方向。

所以我想我可能會不走運?下面是加載圖像的代碼中的相關行...

aq.id(R.id.webview).progress(R.id.progressbar).webImage(imageUrl); 

而這裏的layouyt ..

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 

    <ProgressBar 
     android:id="@+id/progressbar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" /> 
    </RelativeLayout> 

回答

0

好。得到了一個解決方案,適用於我的特定場景,所以...

因爲我知道正在加載到webview的圖像的比例,我想我可以調整webview的正確比例以確保它正確安裝了可用空間。我更新了XML這個...

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     android:id="@+id/wrapper" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center" 
     android:orientation="vertical" > 

     <WebView 
      android:id="@+id/webview" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 

    </LinearLayout> 

    <ProgressBar 
     android:id="@+id/progressbar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" /> 

</RelativeLayout> 

...然後加入這個我活動(從here採取的想法)...

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 

    // need to set correct proportions of webview to match image 
    super.onWindowFocusChanged(hasFocus); 
    WebView mWrapper = (WebView) findViewById(R.id.webview); 
    int w = mWrapper.getWidth(); 
    int h = mWrapper.getHeight(); 
    while (w * 1.28 > h) { 
     w--; 
    } 
    LayoutParams params = new LinearLayout.LayoutParams((int) w, LinearLayout.LayoutParams.FILL_PARENT); 
    mWrapper.setLayoutParams(params); 
} 

......其中 「1.28」 值是我的圖像的寬度和高度(高度除以寬度)之間的比率。

因此,圖像被添加到web視圖中,視圖被佈置,然後這個代碼開始並縮小寬度,直到它足夠小以適合使用適當比例的可用高度。新的LinearLayout使webview保持整潔。