심플하게 인디케이터를 사용해야 할 때 class IndicatorDotView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 ): LinearLayout(context, attrs, defStyleAttr) { private val dotList = mutableListOf() init { orientation = LinearLayout.HORIZONTAL } fun withViewPager(viewPager: ViewPager2) { initDotView(viewPager.adapter?.itemCount ?: 0) } fun select(index: Int) { dotList...
public class CarouselEffectTransformer implements ViewPager.PageTransformer { private int maxTranslateOffsetX; private ViewPager viewPager; public CarouselEffectTransformer(Context context) { this.maxTranslateOffsetX = dp2px(context, 180); } public void transformPage(View view, float position) { if (viewPager == null) { viewPager = (ViewPager) view.getParent(); } int leftInScreen = view.getLeft(..
ViewPager Rx 이용하여 Auto Scroll 기능 구현 implementation 'io.reactivex:rxandroid:1.2.1' 자동 롤링을 하기 위해 무한 스크롤 구현 간단하게 사용할 수 있는 방법으론 아이템 갯수를 100개 혹은 1000개를 만들고, ViewPager 처음 셋팅 할 때 50 혹은 500 에 셋팅 해 놓고 시작. 양쪽으로 50번 혹은 500 번을 가야 끝나는 스크롤 이라 사용자 입장으론 무한 스크롤 인 것 처럼 보임. 메모리는 PagerAdapter 에서 destoryItem 에서 관리하므로 괜찮 그럼 1. Timer 를 이용하여 시간 이후 setCurrentItem 으로 페이징 처리. 무한 스크롤을 처음 시작 하는 곳과 끝나는 곳을 정확히 정해줘야 함. 아래 코드는 ..
Fragment 를 사용 하는 PagerAdpater 의 종류 FragmentPagerAdapter, FragmentStatePagerAdapter Fragment LifeCycle [만들어질 때] onAttach → onCreate → onCreateView → onViewCreated → onActivityCreated → onResume [없어질 때] onPause → onDestroyView → onDestroy → onDetach 각각 10 페이지를 가지고 있는 FragmentPagerAdapter 와 FragmentStatePagerAdapter 의 Log를 통해 LifeCycler 확인함. FragmentPagerAdapter ( 앞에 [0] 은 페이지 번호 ) FragmentStatePag..
ViewPager 의 Wrap Content 를 적용하기 위함. 페이지마다 높이값이 다를 경우 ( 그 전 페이지 보다 지금 페이지가 높이가 더 높을 경우 ) 높이가 바뀜. 약간의 Custom 이 필요. class WrapViewPager(context: Context) : ViewPager(context) { override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { var heightMeasureSpec = heightMeasureSpec val mode = MeasureSpec.getMode(heightMeasureSpec) if (mode == MeasureSpec.UNSPECIFIED || mode == MeasureSpec.A..
- Total
- Today
- Yesterday
- widget glide
- widget onupdate
- Android Wear Os
- 폴더블 상태 유지
- widget 만들기
- flutter web
- 폴더블 이벤트 받기
- 랜덤컬러
- 갤럭시 워치
- Dot indicator
- 쏘렌토 하이브리드
- 웨어러블
- 프래그먼트 데이터 저장
- wear os
- 풀배열 키보드
- Android
- aos img url bitmap
- 역시 키크론이네
- 맥 전용
- Fragment data
- widget onreceive
- 안드로이드 플립 대응
- widget 이미지 로딩
- android widget 만들기
- Foldable Event
- RandomColor
- 가중치랜덤
- 쏘렌토 하이브리드 시그니처
- 안드로이드 폴드 대응
- 폰과 워치 페어링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |