Gau*_*ora 139 android viewflipper android-viewpager viewanimator
我正在设计一个包含多个页面的视图.我希望上一页和下一页的边缘显示如下,并实现双指滑动以在页面之间切换.

我尝试使用这里ViewPager建议的负页边距,但只显示屏幕上的一个边,而不是同时显示.
或者,有什么方法可以将我的视图的一部分放在屏幕外,然后设置它的动画,给它一个ViewPager类型效果.
我该怎么办呢?谢谢 !
Tho*_* R. 100
我有一个类似的解决方案:
在viewpager上设置左右填充,例如20dp.还要在viewpager上设置页边距,例如寻呼机填充的一半.并且不要忘记禁用剪辑填充.
tilePager.setPadding(defaultGap, 0, defaultGap, 0);
tilePager.setClipToPadding(false);
tilePager.setPageMargin(halfGap);
Run Code Online (Sandbox Code Playgroud)
Com*_*are 98
从关于这个主题的博客文章中引用自己的话:
第三种方法来自Dave Smith,他是备受好评的Android Recipes一书的合着者.他走向了一个非常不同的方向,使用一个自定义容器,禁止儿童剪辑,一次显示多个页面.
他发布的示例代码显示了整个行动.他的容器(
com.example.pagercontainer.PagerContainer)包裹ViewPager并调用setClipChildren(false);自身,因此即使ViewPager聚焦在一个选定的页面上,其他具有超出ViewPager边界坐标的页面仍然可见,只要它们适合于PagerContainer.通过将尺寸调整ViewPager为小于PagerContainer,ViewPager可以将其页面尺寸调整到该尺寸,从而为其他页面留出空间.PagerContainer但是,需要帮助触摸事件,因为它ViewPager只会处理其自身可见边界上的滑动事件,忽略侧面可见的任何页面.

Ser*_*eyA 75
为整个项目视图设置左右填充.示例xml(page_item.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp"/>
<TextView
android:id="@+id/text1"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)然后将负页边距设置为PageView等于2*(上一个视图填充)
int margin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20*2, getResources().getDisplayMetrics());
mViewPager.setPageMargin(-margin);
Run Code Online (Sandbox Code Playgroud)可选的.为第一项设置零左填充,为右项填充为最后一项以隐藏空边.您可以在PageAdapter或Pagefragment类中执行此操作.
mol*_*008 44
要显示左右页面的预览,请设置以下两个值
viewpager.setClipToPadding(false)
viewpager.setPadding(left,0,right,0)
Run Code Online (Sandbox Code Playgroud)
如果在viewpager中需要两个页面之间的空格,则添加viewpager.setPageMargin(int)
Android ViewPager - 在左侧和右侧显示页面预览
如果有人仍在寻找解决方案,我已经定制了ViewPage来实现它而不使用负边距,在这里找到一个示例项目https://github.com/44kksharma/Android-ViewPager-Carousel-UI
它应该适用于大多数情况但你仍然可以定义页边距
mPager.setPageMargin(margin in pixel);
| 归档时间: |
|
| 查看次数: |
84967 次 |
| 最近记录: |