是否有可用于Carousel动画图像的库?
我找到了http://www.androidviews.net/2012/10/android-coverflow/ ; https://code.google.com/p/android-coverflow/但这个库/代码段使用扩展了gallay(在API级别16(4.1.2)中不推荐使用Gallery类),那么是否有任何(现代)库?也许与毕加索结合?
Muh*_*had 12
这是CarouselView Github Link和 Android Arsenal的免费链接
摇篮:
compile 'com.synnapps:carouselview:0.0.7'
Run Code Online (Sandbox Code Playgroud)
Maven的:
<dependency>
<groupId>com.synnapps</groupId>
<artifactId>carouselview</artifactId>
<version>0.0.7</version>
<type>pom</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)
用法:
在布局中包含以下代码:
<com.synnapps.carouselview.CarouselView
android:id="@+id/carouselView"
android:layout_width="match_parent"
android:layout_height="200dp"
app:fillColor="#FFFFFFFF"
app:pageColor="#00000000"
app:radius="6dp"
app:slideInterval="3000"
app:strokeColor="#FF777777"
app:strokeWidth="1dp"/>
Run Code Online (Sandbox Code Playgroud)
在您的活动中加入以下代码:
public class SampleCarouselViewActivity extends AppCompatActivity {
CarouselView carouselView;
int[] sampleImages = {R.drawable.image_1, R.drawable.image_2, R.drawable.image_3, R.drawable.image_4, R.drawable.image_5};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample_carousel_view);
carouselView = (CarouselView) findViewById(R.id.carouselView);
carouselView.setPageCount(sampleImages.length);
carouselView.setImageListener(imageListener);
}
ImageListener imageListener = new ImageListener() {
@Override
public void setImageForPosition(int position, ImageView imageView) {
imageView.setImageResource(sampleImages[position]);
}
};
Run Code Online (Sandbox Code Playgroud)
}
如果要添加自定义视图,请实现ViewListener.
public class SampleCarouselViewActivity extends AppCompatActivity {
CarouselView customCarouselView;
int NUMBER_OF_PAGES = 5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample_carousel_view);
customCarouselView = (CarouselView) findViewById(R.id.customCarouselView);
customCarouselView.setPageCount(NUMBER_OF_PAGES);
// set ViewListener for custom view
customCarouselView.setViewListener(viewListener);
}
ViewListener viewListener = new ViewListener() {
@Override
public View setViewForPosition(int position) {
View customView = getLayoutInflater().inflate(R.layout.view_custom, null);
//set view attributes here
return customView;
}
};
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请访问github链接
我已经尝试了很多寻找Carousel的替代品.我终于找到了完美的替代品.
这就是Carousel库所做的.
我修改它来加载SD卡而不是Drawables的图像.
作品非常好.
如果您仍在使用它并需要任何帮助,请与我联系.
我在搜索时没有找到任何这样的库,但是在制作我自己的应用程序并使用a ViewPager来显示片段时,我已经实现了我自己的实现类ViewPager.PageTransformer.
虽然你已经要求一个图书馆了,但我遇到了类似的情况,但最终发现它很容易为它创建我自己的课程,所以你也可以.我的指导来自Google Developer文档中的使用ViewPager for Screen Slides.这是我的代码:
public class CarouselPageTransformer implements ViewPager.PageTransformer {
@Override
public void transformPage(View page, float position) {
float scaleFactor = 0.5f;
float rotationFactor = 20;
if (position < 0) {
page.setRotationY(rotationFactor * -position);
float scale = 1 + scaleFactor * position;
page.setScaleX(scale);
page.setScaleY(scale);
} else {
page.setRotationY(rotationFactor * -position);
float scale = 1 - scaleFactor * position;
page.setScaleX(scale);
page.setScaleY(scale);
}
}
}
Run Code Online (Sandbox Code Playgroud)
托管转换的活动然后调用:
viewPager.setPageTransformer(true, new CarouselPageTransformer());
此代码将ViewPager片段定位到可见屏幕的两侧,但您可以轻松地将它们定位为可见,例如在您在问题中提供的链接中.
请注意所需的最低SDK; 来自以下文件ViewPager.PageTransform:
由于属性动画仅支持从Android 3.0开始直播,因此将忽略在早期平台版本上在ViewPager上设置PageTransformer.
| 归档时间: |
|
| 查看次数: |
26531 次 |
| 最近记录: |