Changeset 14532


Ignore:
Timestamp:
04/10/13 21:17:38 (12 years ago)
Author:
ltnguyen
Message:

ADD: Flip feature to gallery to allow descriptions for the image

Location:
issm/trunk-jpl/src/mobile/android/ISSM_APP
Files:
5 added
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/mobile/android/ISSM_APP/res/layout/gallery.xml

    r14516 r14532  
    55    android:background="@layout/roundcorner"
    66    android:orientation="vertical" >
    7 
    8     <ImageView
     7       
     8    <FrameLayout
     9                android:id="@+id/container"
     10                android:layout_width="fill_parent"
     11                android:layout_height="fill_parent"
     12                android:layout_above="@+id/gallery_relative_layout"
     13                android:layout_marginLeft="20dip"
     14        android:layout_marginRight="20dip"
     15        android:layout_marginTop="20dip">
     16                <include android:id="@+id/front" layout="@layout/frontview" />
     17                <include android:id="@+id/back" layout="@layout/backview" />
     18        </FrameLayout>
     19    <!-- <ImageView
    920        android:id="@+id/selected_imageview"
    1021        android:layout_width="fill_parent"
    11         android:layout_height="fill_parent"
     22        android:layout_height="fill_parent" 
    1223        android:layout_above="@+id/gallery_relative_layout"
    1324        android:layout_marginLeft="30dip"
    1425        android:layout_marginRight="30dip"
    15         android:layout_marginTop="30dip" />
     26        android:layout_marginTop="30dip" /> -->
    1627
    1728    <RelativeLayout
  • issm/trunk-jpl/src/mobile/android/ISSM_APP/src/gov/nasa/jpl/issm/GalleryImage.java

    r14518 r14532  
    1111import android.view.View;
    1212import android.view.View.OnClickListener;
     13import android.view.animation.AccelerateInterpolator;
    1314import android.widget.AdapterView;
    1415import android.widget.AdapterView.OnItemSelectedListener;
     16import android.widget.TextView;
    1517import android.widget.Gallery;
    1618import android.widget.ImageView;
     
    2022
    2123        private ImageView selectedImageView;
     24        private TextView selectedTextView;
    2225
    2326        private ImageView leftArrowImageView;
     
    3235
    3336        private GalleryAdapter galImageAdapter;
     37       
     38        private boolean isFirstImage = true;
    3439
    3540        @Override
     
    4449        private void setupUI() {
    4550
    46                 selectedImageView = (ImageView) findViewById(R.id.selected_imageview);
     51                selectedImageView = (ImageView) findViewById(R.id.front_view);
     52                selectedTextView = (TextView) findViewById(R.id.back_view);
     53                selectedTextView.setVisibility(View.GONE);
    4754                leftArrowImageView = (ImageView) findViewById(R.id.left_arrow_imageview);
    4855                rightArrowImageView = (ImageView) findViewById(R.id.right_arrow_imageview);
    4956                gallery = (Gallery) findViewById(R.id.gallery);
     57               
     58                selectedImageView.setOnClickListener(new View.OnClickListener()
     59                {
     60                           public void onClick(View view) {
     61                            if (isFirstImage) {       
     62                             applyRotation(0, 90);
     63                             isFirstImage = !isFirstImage;
     64
     65                            } else {   
     66                             applyRotation(0, -90);
     67                             isFirstImage = !isFirstImage;
     68                            }
     69                           }
     70                        });         
    5071
    5172                leftArrowImageView.setOnClickListener(new OnClickListener() {
     
    147168
    148169                drawables = new ArrayList<Drawable>();
    149                 drawables.add(getResources().getDrawable(R.drawable.natureimage1));
    150                 drawables.add(getResources().getDrawable(R.drawable.natureimage2));
    151                 drawables.add(getResources().getDrawable(R.drawable.natureimage3));
    152                 drawables.add(getResources().getDrawable(R.drawable.natureimage4));
     170               
     171                for (int i = 1; i < 5; i++)
     172                {
     173                        drawables.add(getResources().getDrawable(getResources().getIdentifier("natureimage"+i, "drawable", getPackageName())));
     174                }
     175               
    153176        }
    154177
     
    159182                selectedImageView.setImageBitmap(b);
    160183                selectedImageView.setScaleType(ScaleType.FIT_XY);
     184                selectedTextView.setText("This is sample text " + selectedImagePosition);
     185        }
     186       
     187        private void applyRotation(float start, float end)
     188        {
     189                // Find the center of image
     190                final float centerX = selectedImageView.getWidth() / 2.0f;
     191                final float centerY = selectedImageView.getHeight() / 2.0f;
     192
     193                // Create a new 3D rotation with the supplied parameter
     194                // The animation listener is used to trigger the next animation
     195                final FlipAnimation rotation =
     196                       new FlipAnimation(start, end, centerX, centerY);
     197                rotation.setDuration(500);
     198                rotation.setFillAfter(true);
     199                rotation.setInterpolator(new AccelerateInterpolator());
     200                rotation.setAnimationListener(new DisplayNextView(isFirstImage, selectedImageView, selectedTextView));
     201
     202                if (isFirstImage)
     203                {
     204                        selectedImageView.startAnimation(rotation);
     205                } else {
     206                        selectedTextView.startAnimation(rotation);
     207                }
    161208
    162209        }
Note: See TracChangeset for help on using the changeset viewer.