栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

查看分页器+ ImageView +捏缩放+旋转

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

查看分页器+ ImageView +捏缩放+旋转

编辑2:示例代码已被推送到TouchImageView的master分支。这里是示例活动的链接和ExtendedViewPager的链接。

编辑:添加了使示例链接适应TouchImageView的代码。注意:您将需要最新的代码,该代码当前位于dev分支中。将来,它将包含在v1.2.0中。您知道,如果TouchImageView覆盖canScrollHorizo​​ntally,则您拥有最新的代码。

第1步:扩展ViewPager并覆盖canScroll以调用canScrollHorizo​​ntallyFroyo。

public class ExtendedViewPager extends ViewPager {public ExtendedViewPager(Context context) {    super(context);}public ExtendedViewPager(Context context, AttributeSet attrs) {    super(context, attrs);}@Overrideprotected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {    if (v instanceof TouchImageView) {        return ((TouchImageView) v).canScrollHorizontallyFroyo(-dx);    } else {        return super.canScroll(v, checkV, dx, x, y);    }}}

步骤2:通过添加canScrollHorizo​​ntallyFroyo来修改TouchImageView:

public boolean canScrollHorizontallyFroyo(int direction) {    return canScrollHorizontally(direction);}

步骤3:您的活动

public class TouchImageViewActivity extends Activity {@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        ExtendedViewPager mViewPager = (ExtendedViewPager) findViewById(R.id.view_pager);        setContentView(mViewPager);        mViewPager.setAdapter(new TouchImageAdapter());    }    static class TouchImageAdapter extends PagerAdapter { private static int[] images = { R.drawable.img1, R.drawable.img2, R.drawable.img3 }; @Override public int getCount() {         return images.length; } @Override public View instantiateItem(ViewGroup container, int position) {         TouchImageView img = new TouchImageView(container.getContext());         img.setImageResource(images[position]);         container.addView(img, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);         return img; } @Override public void destroyItem(ViewGroup container, int position, Object object) {         container.removeView((View) object); } @Override public boolean isViewFromObject(View view, Object object) {         return view == object; }    }}

步骤4: main.xml

<com.example.touch.ExtendedViewPager     xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/view_pager"    android:layout_width="match_parent"    android:layout_height="match_parent" />

TouchImageView实际上是我的项目。我目前在dev分支中有一个与ViewPagers集成的修复程序,该修复程序将在以后的发行版中发布。不幸的是,此修复仅适用于API 14及更高版本,因为honeycomb和更早版本不调用。如果需要支持较旧的API,则需要在ViewPager中实现解决方法。这是一个例子。canScrollHorizontally



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453690.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号