페이지 조각 사이의 Android ViewPager 패딩 / 여백
Android Market / Google Music은 .NET Framework에 포함 된 여러 조각 사이에 일종의 간격이있을 수 있습니다 ViewPager
.
이것이 어떻게 수행되는지 아십니까? 실제 조각보기에 여백 / 패딩을 추가하는 것은 작동하지 않습니다.보기가 여전히 화면의 전체 너비를 차지해야하기 때문입니다. '간격'은 ViewPager를 스 와이프 할 때만 표시됩니다.
에서 지원 패키지, R4 이러한 방법을 사용할 수 있습니다 :
setPageMargin(int marginPixels)
setPageMarginDrawable(Drawable)
setPageMarginDrawable(int)
에서 ViewPager의 클래스입니다.
왜 이것이 XML에 동등하지 않은지 모르겠습니다 :-(
딥 유닛을 사용해야하는 경우 다음 방법을 사용할 수 있습니다.
public static int convertDip2Pixels(Context context, int dip) {
return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, context.getResources().getDisplayMetrics());
}
이것이 ViewPager 및 페이지 여백을 가진 사람을 도울 수 있기를 바랍니다 .
ViewPager 가 CardView 이고 viewpager 페이지 사이의 패딩과 여백에 문제 가 있기를 원했습니다 . setPageMargin이 전혀 작동하지 않았습니다. 다음을 사용해야했습니다.
int pagerPadding = 16;
pager.setClipToPadding(false);
pager.setPadding(pagerPadding, 0, pagerPadding, 0);
이렇게하면 페이지가 매우 가깝게 배치 될 수 있습니다.
viewPager.setPageMargin(dpToPx(10));
// replace 10 with the value you want for margin in dp.
public int dpToPx(int dp) {
DisplayMetrics displayMetrics = getActivity().getResources().getDisplayMetrics();
return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
}
이 시도 .
ViewPager viewPager = (ViewPager) findViewById(R.id.h_view_pager);
viewPager.setClipToPadding(false);
viewPager.setPadding(60, 0, 60, 0);
viewPager.setPageMargin(20);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setOffscreenPageLimit(adapter.getCount());
viewPager.setAdapter(adapter);
pager.setClipToPadding (false); pager.setPadding (left, 0, right, 0); viewpager에서 두 페이지 사이에 공간이 필요하면 pager.setPageMargin (int);
이 시도
viewPager.setClipToPadding(false);
viewPager.setOffscreenPageLimit(2);
viewPager.setPadding(20, 0, 20, 0);
다음은 샘플 솔루션입니다.
ViewPager.OnPageChangeListener
ViewPager를 사용하는 활동 또는 조각에서를 구현하십시오 .
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
int tabStripChildCount = mTabStrip.getChildCount();
for (int i=0 ; i < tabStripChildCount ; i++){
View view = mTabStrip.getChildAt(i);
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
p.setMargins(0, 0, 50, 0);
view.requestLayout();
}
mTabStrip은 활동 또는 조각의 테이블 레이아웃입니다.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mSectionsPagerAdapter = new SectionsPagerAdapter(getChildFragmentManager());
View view = inflater.inflate(R.layout.patient_activity__fragment_tab_viewer, container, false);
mViewPager = (ViewPager) view.findViewById(R.id.viewPager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mTabStrip = (SlidingTabLayout) view.findViewById(R.id.tabs);
mTabStrip.setViewPager(mViewPager);
return view;
}
마침내 제목 조각 사이에 여백이 생깁니다.
참조 URL : https://stackoverflow.com/questions/7343487/android-viewpager-padding-margin-between-page-fragments
'code' 카테고리의 다른 글
PowerShell 루프에서 현재 항목의 인덱스 가져 오기 (0) | 2020.12.27 |
---|---|
Linq 쿼리 그룹화 및 첫 번째 항목 선택 (0) | 2020.12.27 |
ViewDidLoad에서 Segue 수행 (0) | 2020.12.27 |
버튼 누름을 기반으로 UIPickerView (새 데이터 배열 포함)를 어떻게 다시로드 / 새로 고침합니까? (0) | 2020.12.27 |
조각에서 활동을 시작하면 NullPointerException이 발생합니다. (0) | 2020.12.27 |