android– 具有多个可见子项的ViewPager并选择更大

android– 具有多个可见子项的ViewPager并选择更大,第1张

概述在我的活动中,我使用DaveSmith的PagerContainer示例添加了类似Gallery的视图,我用来实例化它的代码与他的示例中的PagerActivity非常相似,而我更改了布局,因为我需要使用布局权重:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.c

在我的活动中,我使用Dave Smith的PagerContainer示例添加了类似gallery的视图,我用来实例化它的代码与他的示例中的PagerActivity非常相似,而我更改了布局,因为我需要使用布局权重:

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:orIEntation="vertical"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent">    <com.example.myapp.PagerContainer        androID:ID="@+ID/pager_container"        androID:layout_wIDth="match_parent"        androID:overScrollMode="never"        androID:layout_margintop="5dp"        androID:layout_marginBottom="5dp"        androID:layout_height="0dp"        androID:layout_weight="0.66"        >        <androID.support.v4.vIEw.VIEwPager            androID:layout_wIDth="150dp"            androID:overScrollMode="never"            androID:layout_height="match_parent"            androID:layout_gravity="center" />    </com.example.myapp.PagerContainer>    <ImageVIEw        androID:layout_wIDth="150dp"        androID:layout_height="0dp"        androID:layout_weight="0.34"        androID:ID="@+ID/current_selection_logo"        androID:layout_gravity="center_horizontal"/></linearLayout>

现在我的VIEwPager工作正常,看起来像这样(我省略了底部的ImageVIEw)

但是我想重新调整未选择的项目,旨在强调中心项目(选择),例如:

要么:

我已经找到了this问题的已接受答案,但实施该解决方案意味着我将使选择大于其当前维度(已经是最大可能).

所以我想在PagerAdapter中编辑instantiateItem以设置减小的宽度和高度,并在onPageSelected中使用问题中显示的方法.

问题是我不确定我应该调用哪种LayoutParams,并且在instantiateItem中调用getWIDth()和getHeight()会返回0.

目前我正在使用:

VIEw v = container.getChildAt(position);PagerContainer.LayoutParams params = (PagerContainer.LayoutParams)v.getLayoutParams();

但它有时会起作用,有时会抛出NPE.

我的方法是正确的还是我应该以另一种方式进行?
在这两种情况下,我应该改变什么来实现我想要的?

解决方法:

为此,您必须使用PageTransform.您必须实现的回调接收两个参数.前者是VIEw对象,后者是int.当其值为零时,表示视图对象引用中心的完全可见对象. -1和-1分别是左右两侧的完全可见视图.您可以使用此值来实现所需的转换.例如,使用VIEwCompat,您可以更改translationX,translateY和Scale值

总结

以上是内存溢出为你收集整理的android – 具有多个可见子项的ViewPager并选择更大全部内容,希望文章能够帮你解决android – 具有多个可见子项的ViewPager并选择更大所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1100140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存