강력한 타사 - 윤방도
10705 단어 android
간단한 사용
<com.youth.banner.Banner
android:id="@+id/main_banner"
android:layout_width="match_parent"
android:layout_height="250dp"/>
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
/**
:
1. , ,
2. Object , ,
, Object , ,
!
*/
eg:
//Glide
Glide.with(context).load(path).into(imageView);
//Picasso
Picasso.with(context).load(path).into(imageView);
// fresco , createImageView
Uri uri = Uri.parse((String) path);
imageView.setImageURI(uri);
}
}
// , 6
//mMainBanner
//images: ,
mMainBanner.setImages(images).setImageLoader(new GlideImageLoader()).start();
// banner
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
//
banner.setImageLoader(new GlideImageLoader());
//
banner.setImages(images);
// banner
banner.setBannerAnimation(Transformer.DepthPage);
// ( banner title )
banner.setBannerTitles(titles);
// , true
banner.isAutoPlay(true);
//
banner.setDelayTime(1500);
// ( banner )
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner
banner.start();
표시기 스타일
BannerConfig.NOT_INDICATOR setBannerStyle
BannerConfig.CIRCLE_INDICATOR setBannerStyle
BannerConfig.NUM_INDICATOR setBannerStyle
BannerConfig.NUM_INDICATOR_TITLE setBannerStyle
BannerConfig.CIRCLE_INDICATOR_TITLE ( ) setBannerStyle
BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE ( ) setBannerStyle
BannerConfig.LEFT setIndicatorGravity
BannerConfig.CENTER setIndicatorGravity
BannerConfig.RIGHT setIndicatorGravity
애니메이션
mMainBanner.setPageTransformer(true, new ZoomOutPageTransformer());
public class DepthPageTransformer implements ViewPager.PageTransformer {
private static float MIN_SCALE = 0.75f;
@SuppressLint("NewApi")
@Override
public void transformPage(View view, float position) {
int pageWidth = view.getWidth();
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0);
} else if (position <= 0) { // [-1,0]
// Use the default slide transition when
// moving to the left page
view.setAlpha(1);
view.setTranslationX(0);
view.setScaleX(1);
view.setScaleY(1);
} else if (position <= 1) { // (0,1]
// Fade the page out.
view.setAlpha(1 - position);
// Counteract the default slide transition
view.setTranslationX(pageWidth * -position);
// Scale the page down (between MIN_SCALE and 1)
float scaleFactor = MIN_SCALE + (1 - MIN_SCALE)
* (1 - Math.abs(position));
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0);
}
}
}
public class ZoomOutPageTransformer implements ViewPager.PageTransformer {
private static float MIN_SCALE = 0.85f;
private static float MIN_ALPHA = 0.5f;
@Override
public void transformPage(View view, float position) {
int pageWidth = view.getWidth();
int pageHeight = view.getHeight();
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0);
} else if (position <= 1) { // [-1,1]
// Modify the default slide transition to
// shrink the page as well
float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
float vertMargin = pageHeight * (1 - scaleFactor) / 2;
float horzMargin = pageWidth * (1 - scaleFactor) / 2;
if (position < 0) {
view.setTranslationX(horzMargin - vertMargin / 2);
} else {
view.setTranslationX(-horzMargin + vertMargin / 2);
}
// Scale the page down (between MIN_SCALE and 1)
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
// Fade the page relative to its size.
view.setAlpha(MIN_ALPHA + (scaleFactor - MIN_SCALE)
/ (1 - MIN_SCALE) * (1 - MIN_ALPHA));
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0);
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.