2014-08-29 158 views
0

我有一個活動,在水平滾動視圖中填充圖像,我有大約4張圖片,用戶可以瀏覽。由於單個圖像尺寸很小,我希望當圖像被點擊時會出現一個美觀的彈出窗口,顯示幾乎整個活動的圖像,並在彈出窗口上顯示圖像的標題,以及一個關閉彈出窗口的按鈕在圖像的底部。圖像放大點擊

如果可能的話,當圖像放大時,用戶能夠在放大圖像中左右導航,就像關閉圖像然後再點擊另一隻圖像以便在圖像中看到它一樣更大的視圖。

我已經進行了一些研究,但仍然遇到困難。

下面是顯示圖像的活動代碼:

public class CasualEventsSingleItemActivity extends Activity { 

    // Declare Variables 
    String list_item_name; 
    String list_item_description; 
    String list_item_price; 
    String list_item_location; 

    String single_list_item_description; 




    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_events_single_item); 


     ImageLoader mImageLoader = new ImageLoader(Volley.newRequestQueue(this), 
       new ImageLoader.ImageCache() { 
      private final LruCache<String, Bitmap> 
        cache = new LruCache<String, Bitmap>(20); 

      @Override 
      public Bitmap getBitmap(String url) { 
       return cache.get(url); 
      } 

      @Override 
      public void putBitmap(String url, Bitmap bitmap) { 
       cache.put(url, bitmap); 
      } 
     }); 


     Intent i = getIntent(); 
     list_item_name = i.getStringExtra("list_item_name"); 
     list_item_location = i.getStringExtra("list_item_location"); 



     single_list_item_description = i.getStringExtra("single_list_item_description"); 

     TextView txtname = (TextView) findViewById(R.id.name); 
     TextView txtlocation = (TextView) findViewById(R.id.location); 
     TextView txtsdescription = (TextView) findViewById(R.id.sdescription); 


     NetworkImageView hsvimage1 = (NetworkImageView) findViewById(R.id.hsvimage1); 
     NetworkImageView hsvimage2 = (NetworkImageView) findViewById(R.id.hsvimage2); 
     NetworkImageView hsvimage3 = (NetworkImageView) findViewById(R.id.hsvimage3); 

     // Get image URLs from your previous network request... 
     // I could not determine where this is stored from code in your question. 
     String url1 = "list_item_bac"; // e.g. http://example.com/images/image1.png 
     String url2 = "list_item_bac"; 
     String url3 = "list_item_bac "; 

     // Set the URL of the image that should be loaded into this view, and 
     // specify the ImageLoader that will be used to make the request. 
     hsvimage1.setImageUrl(url1, mImageLoader); 
     hsvimage2.setImageUrl(url2, mImageLoader); 
     hsvimage3.setImageUrl(url3, mImageLoader); 

     // Set results to the TextViews 
     txtname.setText(list_item_name); 
     txtlocation.setText(list_item_location); 
     txtsdescription.setText(single_list_item_description); 


     Button mConfirm2 = (Button)findViewById(R.id.bConfirm2); 
     mConfirm2.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       ParseUser currentUser = ParseUser.getCurrentUser(); 

       // Create the class and the columns 
       currentUser.saveInBackground(); 

       currentUser.put("ActivityName", list_item_name); 
       currentUser.saveInBackground(new SaveCallback() { 
        @Override 
        public void done(ParseException e) { 
         setProgressBarIndeterminateVisibility(false); 

         if (e == null) { 
          // Success! 
          Intent intent = new Intent(CasualEventsSingleItemActivity.this, usermatch.class); 
          intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
          intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
          startActivity(intent); 
         } 
         else { 
          AlertDialog.Builder builder = new AlertDialog.Builder(CasualEventsSingleItemActivity.this); 
          builder.setMessage(e.getMessage()) 
           .setTitle(R.string.signup_error_title) 
           .setPositiveButton(android.R.string.ok, null); 
          AlertDialog dialog = builder.create(); 
          dialog.show(); 
         } 
        } 
       }); 
       //CasualEventsSingleItemActivity.this.startActivity(new Intent(CasualEventsSingleItemActivity.this, MatchingActivity.class)); 
      } 
     }); 


    } 
} 

下面是佈局代碼提前

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
     android:background="@drawable/blue_bac3" 
    android:gravity="center" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginLeft="15dp" 
     android:layout_marginTop="10dp" 

     android:layout_marginRight="15dp" 
     android:alpha="0.9" 
     android:paddingBottom="3dp" 
     android:shadowColor="#000000" 
     android:shadowDx="3" 
     android:shadowDy="3" 
     android:shadowRadius="0.01" 
     android:textColor="#82CAFF" 
     android:textSize="24sp" /> 

    <TextView 
     android:id="@+id/location" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/name" 
     android:layout_centerHorizontal="true" 
     android:layout_marginLeft="15dp" 
     android:layout_marginRight="15dp" 
     android:alpha="0.8" 
     android:paddingBottom="5dp" 
     android:shadowColor="#000000" 
     android:shadowDx="3" 
     android:shadowDy="3" 
     android:shadowRadius="0.01" 
     android:textAlignment="center" 
     android:textColor="#f2f2f2" 
     android:textSize="16sp" /> 

    <ImageView 
     android:id="@+id/dividertop" 
     android:layout_width="370dp" 
     android:layout_centerHorizontal="true" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/location" 
     android:alpha="0.6" 
     android:background="@drawable/divider11" 
     android:paddingBottom="3dp" /> 

    <ImageView 
     android:id="@+id/dividerbottom" 
     android:layout_width="370dp" 
       android:layout_centerHorizontal="true" 

     android:layout_height="wrap_content" 
     android:layout_below="@+id/vsvdescription" 
     android:alpha="0.6" 
     android:background="@drawable/divider11" 
     android:paddingBottom="3dp" /> 

    <ImageView 
     android:id="@+id/image_head" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:background="#000000" 
     android:padding="1dp" /> 

    <HorizontalScrollView 
     android:id="@+id/isgallery" 
     android:layout_width="370dp" 
     android:layout_height="90dp" 
     android:layout_centerHorizontal="true" 
     android:layout_below="@+id/dividerbottom" 
     android:layout_marginTop="8dp" 
     > 

      <LinearLayout 
       android:orientation="horizontal" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 

       <com.android.volley.toolbox.NetworkImageView 
       android:id="@+id/hsvimage1" 
       android:layout_width="148dp" 
       android:layout_height="90dp" 
       android:layout_marginRight="6dp" 
       android:layout_alignParentRight="true" 
       android:background="#fff" 
       android:padding="1dp" /> 
       <com.android.volley.toolbox.NetworkImageView 
       android:id="@+id/hsvimage2" 
       android:layout_width="148dp" 
       android:layout_height="90dp" 
       android:layout_marginRight="6dp" 
       android:layout_alignParentRight="true" 
       android:background="#000000" 
       android:padding="1dp" /> 
       <com.android.volley.toolbox.NetworkImageView 
       android:id="@+id/hsvimage3" 
       android:layout_width="148dp" 
       android:layout_height="90dp" 
       android:layout_marginRight="6dp" 
       android:layout_alignParentRight="true" 
       android:background="#CCC" 
       android:padding="1dp" /> 
       <com.android.volley.toolbox.NetworkImageView 
       android:id="@+id/hsvimage4" 
       android:layout_width="148dp" 
       android:layout_height="90dp" 
       android:layout_alignParentRight="true" 
       android:background="#000000" 
       android:padding="1dp" /> 
         </LinearLayout> 

        </HorizontalScrollView> 

    <Button 
     android:id="@+id/bConfirm2" 
     android:layout_width="90dp" 
     android:layout_height="50dp" 
     android:layout_below="@+id/isgallery" 
     android:layout_centerHorizontal="true" 
     android:alpha="0.7" 
     android:layout_marginTop="10dp" 
     android:background="@drawable/gray_bac" 
     android:text="Confirm" 
     android:textColor="#2B3856" 
     android:textStyle="bold" /> 

    <ScrollView 
     android:id="@+id/vsvdescription" 
     android:layout_width="370dp" 
     android:layout_height="250dp" 
     android:layout_marginTop="7dp" 
     android:layout_marginBottom="7dp" 
     android:padding="5dp"  

     android:layout_centerHorizontal="true" 
     android:layout_below="@+id/dividertop" 
     > 

      <RelativeLayout 
       android:orientation="vertical" 
       android:gravity="center" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/sdescription" 
     android:layout_width="370dp" 
     android:layout_height="250dp" 
     android:gravity="center" 
     android:alpha="0.65" 
     android:textColor="#ffffff" 
     android:textSize="18sp" /> 

    </RelativeLayout> 
    </ScrollView> 

</RelativeLayout> 

謝謝你,如果你需要任何澄清,讓我知道。

回答

0

Volley的原始NetworkImageView不可縮放。

您需要爲縮放功能放置擴展。

看看https://github.com/naver/volley-extensions/tree/master/volley-views