이미지와 같이 시설을 제공해야합니다. 스왑 안드로이드 조회
제 감안하단 viewpager가
. 사용자가 오른쪽에서 왼쪽으로 스왑하면 첫 번째가 두 번째로 바뀝니다. 내가 할 수있다. 하지만내 질문은 어떻게 오른쪽의 끝에 그리고 왼쪽의 다음보기의 절반 부분입니다.
즉 첫 번째보기의 '처음'과 두 번째보기의 'Thir'.
이미지와 같이 시설을 제공해야합니다. 스왑 안드로이드 조회
제 감안하단 viewpager가
. 사용자가 오른쪽에서 왼쪽으로 스왑하면 첫 번째가 두 번째로 바뀝니다. 내가 할 수있다. 하지만즉 첫 번째보기의 '처음'과 두 번째보기의 'Thir'.
여기 갤러리를 사용할 수 있습니다. 각 항목에 대한 갤러리 내부에서 요구 사항에 맞게 레이아웃 매개 변수 (너비)를 설정하십시오.
갤러리와 관련된 문제는 항목을 회전시키지 않는다는 것입니다. 즉, 일단 목록의 끝에 도달하면 첫 번째 항목을 얻지 못합니다.
하지만 너무 오지 마세요. 목록 개수를 매우 큰 수 (INT_MAX)로 설정하고 어댑터에서 % 계산을 통해주의 깊게 적절한보기를 반환하면됩니다.
이렇게하면 곧 목록의 끝에 도달하지 않을 것입니다.
갤러리 클래스는 이제 더 이상 사용되지 않습니다 ... – himanshu
아 ... 그 ... 슬픈 .. 그러면 우리는 모든 뷰 어댑터 서커스를해야 할 것입니다. –
jellybeans 버전에서 사용되지 않으므로 갤러리 대신 HorizontalScrollView를 사용해야합니다.
http://developer.android.com/reference/android/widget/Gallery.html
- (왼쪽과 오른쪽의에, 즉 시간 (여러 페이지를 볼 수 있습니다) ViewPager.setPageMargin
를 통해 음의 페이지 여백을 사용하여 귀하의 현재 페이지).
하지만 하나의 활동이나 레이아웃에 두 개의 뷰 페이지를 넣을 수 없다는 것이 문제입니다. – user861973
@ user861973 - 아, 게시글에 '하단에 뷰 페이지가 있습니다.'라는 메시지가 표시됩니다. 따라서 왜 당신은 이미 하단 스크롤바에 ViewPager를 사용하고 있으며 메인 콘텐츠에는 사용하지 않았다고 생각했습니다.이 경우 [ViewPagerIndicator] (http://viewpagerindicator.com/) 및 특히 [TabPageIndicator] (https://github.com/JakeWharton/Android-ViewPagerIndicator/blob/master/library/src/)를 사용하여 제안 할 수 있습니다. com/viewpagerindicator/TabPageIndicator.java). 이 경우 레이아웃 자체에서 음수 여백을 사용하여 사이드 탭 이미지를 절반 만 보여줄 수 있습니다. – ianhanniballake
마지막으로 해결책을 찾았습니다. 프로젝트에서 페이징 표시기 표시기의 TitlePageIndicator를 사용하고 있습니다. 이 효과를 얻으려면 TitlePageIndicator 클래스를 약간 수정해야합니다.
아이디어는 왼쪽의 텍스트를 크기의 절반 크기 (아무것도 될 수 있음)만큼 오른쪽으로 이동시키고 오른쪽의 텍스트를 크기의 절반만큼 오른쪽으로 이동시키는 것입니다 아무것도). 좌측 방법이 사용된다 clipViewOnTheLeft (...)에 텍스트에 대한 범위를 설정 및 법을 사용 오른쪽 clipViewOnTheRight (...)에 텍스트로 경계를 설정
. 여기서 수정해야합니다.
/**
* Set bounds for the right textView including clip padding.
*
* @param curViewBound
* current bounds.
* @param curViewWidth
* width of the view.
*/
private void clipViewOnTheRight(RectF curViewBound, float curViewWidth, int right) {
curViewBound.right = right - mClipPadding + curViewWidth/2;
curViewBound.left = curViewBound.right - curViewWidth;
}
/**
* Set bounds for the left textView including clip padding.
*
* @param curViewBound
* current bounds.
* @param curViewWidth
* width of the view.
*/
private void clipViewOnTheLeft(RectF curViewBound, float curViewWidth, int left) {
curViewBound.left = left + mClipPadding - curViewWidth/2;
curViewBound.right = mClipPadding + curViewWidth;
}
당신은 TitlePageIndicator.java 파일에 이러한 변경 작업을 수행해야합니다 여기
은 당신이해야 할 것입니다.
이 솔루션이 귀하에게 효과적 이었는지 여부에 관계없이 의견을 게시 할 수 있습니까? – karn
더 잘 사용자 정의보기를 사용할 수 있습니다 – Ramkumar