如何使用viewpager

时间:2017-10-02 04:30:53

标签: java android xml android-viewpager image-zoom

我是Android开发的新手。我正在使用photoview库来启用我的imageviewer应用程序中的图像缩放。但是viewpager和缩放功能不能同时工作。当我在 FullImageActivity.java 中包含photoView.setVisibility(View.GONE);时,viewpager开始工作,当我删除它时,缩放功能开始工作。但缩放和viewpager都无法同时工作。我该如何解决 ?感谢

https://github.com/redviper00/game

提供完整代码

FullImageActivity.java

public class FullImageActivity extends AppCompatActivity {
    int position;
    int folderPosition;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_full_image);
        Intent i = getIntent();
        PhotoView photoView = (PhotoView) findViewById(R.id.photo_view);
        photoView.setVisibility(View.GONE);

        // Selected image id
        position = i.getExtras().getInt("id");
        folderPosition = i.getExtras().getInt("folderPosition");
        Bundle extras = getIntent().getExtras();
        String value = extras.getString("abc");

        Glide.with(FullImageActivity.this)
                .load(value)
                .skipMemoryCache(false)
                .into(photoView);

        ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager);
        mViewPager.setAdapter(new TouchImageAdapter(this,al_images, folderPosition));
        mViewPager.setCurrentItem(position);
    }
}

activity_full_image.xml

<?xml version="1.0" encoding="utf-8"?>

     <LinearLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/jazzy_pager"
         android:layout_width="match_parent"
         android:layout_height="match_parent">

     <com.github.chrisbanes.photoview.PhotoView
         android:id="@+id/photo_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center"
         android:scaleType="centerCrop"/>

     <android.support.v4.view.ViewPager
         android:id="@+id/viewpager"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

给自定义“android:layout_height”来查看寻呼机和PhotoView所以它适用于你.........

你已经给了两个匹配父母,所以它不起作用......

答案 1 :(得分:1)

您没有在适配器中使用Imageview,例如:TouchImageAdapter。 您应该使用PhotoView对象,您的问题将得到解决。

 PhotoView img = new PhotoView(container.getContext());

请查看我推送到您的存储库的代码更改。