2013-07-16 77 views
1

我試圖在ImageView中使用zoom。我已經搜索並嘗試了很多代碼,但問題是我在ScrollView中有ImageView,因爲我有其他一些對象。在ScrollView裏面放大ImageView的使用

This是最後的代碼,如果嘗試。

這裏是XML代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    tools:context=".ConsumoActivity" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/linearLayoutLogoFactor_consumo" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" > 

     <ImageView 
      android:id="@+id/imageViewLogoFactor_consumo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/logo_factorenergia" /> 

    </LinearLayout> 

    <ScrollView 
     android:id="@+id/scrollViewConsumo" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:fillViewport="true" > 

     <LinearLayout 
      android:id="@+id/linearLayoutConsumo2" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp" 
      android:layout_gravity="center_horizontal" 
      android:focusable="true" 
      android:focusableInTouchMode="true" 
      android:orientation="vertical" > 

      <TextView 
       android:id="@+id/textViewVerConsumo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="20dp" 
       android:layout_marginRight="20dp" 
       android:text="@string/etiqueta_ver_consumo" 
       android:textSize="@dimen/textSize" 
       android:layout_marginTop="10dp" 
       android:textStyle="italic" 
       android:textColor="#79b7e3" /> 

      <LinearLayout 
       android:id="@+id/linearLayoutDireccionConsumo" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="20dp" 
       android:layout_marginRight="20dp" 
       android:layout_marginTop="10dp" 
       android:weightSum="1.0"> 

       <TextView 
        android:id="@+id/textViewlabelDireccionConsumo" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="0.3" 
        android:text="@string/etiqueta_direccion" 
        android:textSize="@dimen/textSize" 
        android:textStyle="bold" /> 

       <TextView 
        android:id="@+id/textViewDireccionConsumo" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="0.7" 
        android:textSize="@dimen/textSize" /> 

      </LinearLayout> 

      <com.example.factorenergia.CustomImageView 
       android:id="@+id/imageViewConsumo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="15dp" 
       android:adjustViewBounds="true" 
       android:scaleType="matrix" /> 

      <RelativeLayout 
       android:id="@+id/linearLayoutImagenInferior_consumo" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_marginTop="20dp" > 

       <ImageView 
        android:id="@+id/imageViewImagenInferior_consumo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
        android:adjustViewBounds="true" 
        android:src="@drawable/la_electrica_de_las_empresas" /> 
      </RelativeLayout> 

     </LinearLayout> 

    </ScrollView> 

</LinearLayout> 

圖像OK,但scroll不工作。有沒有什麼辦法可以解決裏面ScrollView和其他一些物體的問題?

回答

1

我用一個簡單的解決方案:

讓我的佈局,因爲它是和被點擊ImageView的時候,去到一個新的只具有Image,用麥克·奧爾蒂斯在代碼that question

1

這可能是因爲被覆蓋的ImageView正在處理所有的觸摸事件。它應該只採用雙指事件並將剩下的事件傳回給父母。當事件不適合ImageView時,您應該從onTouchEvent返回false。

第二個選項是處理ScrollView的dispatchTouchEvent方法中的事件。您可以在ScrollView中處理單指事件,並將其餘事件傳遞給兒童。這不是推薦的,因爲它可能會打破很多。

+0

好的,謝謝你的回答。 – Lyd