-->

Add a Pinch zoom for GridView

2020-07-27 02:38发布

问题:

I need to add a pinch zoom for that gridview.I didn't find any samples regarding to add a pinch zoom in gridview.So far my layout looks like this.I need to add a pinch zoom to that gridview.

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearlayoutControll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:background="@color/light_grey"
        android:gravity="center"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/imagebuttonLast"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:background="@drawable/ic_action_previous"
            android:scaleType="fitXY" />

        <ImageButton
            android:id="@+id/imagebuttonPause"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:background="@drawable/ic_action_pause"
            android:scaleType="fitXY" />
 </LinearLayout>

    <GridView
        android:id="@+id/gridViewTable"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/linearlayoutControll"
        android:layout_alignParentTop="true"
        android:layout_margin="15dp"
        android:listSelector="#00000000"
        android:numColumns="2"
        android:rotationY="180" >
    </GridView>

FragmentPage.java:

import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams;

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

         rootView = inflater.inflate(R.layout.activity_main, container, false);
      rootView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
       zoomView = new ZoomView(getActivity());
       zoomView.addView(rootView);

        return rootView;

    }

If I get any sample code or tutorials or any suggestion it will be helpful to me.Thank you.

回答1:

Add

ZoomView zoomView;
rootView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
zoomView = new ZoomView(getActivity());
zoomView.addView(rootView);

and Change

 return rootView; 

to

 return zoomView;

and put zoomview jar in you project