마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Viewpager 두번째 화면에 테두리 효과 없애는 방법없을까요?

0 추천

http://destiny738.tistory.com/517 의 내용을 토대로 viewpager를 구현했습니다.

그런데 첫번째 페이지는 정상이지만,

두번째 페이지부터 화편 왼쪽테두리에 흰줄이 생깁니다.

없애려고 별의별 방법을 다 동원해도 사라지질 않습니다. ㅜㅜ

제발 도움 부탁드립니다...
 

첫번째 페이지

 

두번째 페이지

 

3번째 페이지

 

 

소스는 아래와 같습니다.

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends FragmentActivity implements OnClickListener {

	private int NUM_PAGES = 4; // 최대 페이지의 수
	/* Fragment numbering */
	public final static int FRAGMENT_PAGE1 = 0;
	public final static int FRAGMENT_PAGE2 = 1;
	public final static int FRAGMENT_PAGE3 = 2;
	public final static int FRAGMENT_PAGE4 = 3;
	ViewPager mViewPager; // View pager를 지칭할 변수

	Button page1Btn, page2Btn, page3Btn, page4Btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.overridePendingTransition(R.anim.start_enter_right, R.anim.start_exit_left);
		setContentView(R.layout.activity_main);
		
		backPressCloseHandler = new BackPressCloseHandler(this); //뒤로 가기 종료

		// ViewPager를 검색하고 Adapter를 달아주고, 첫 페이지를 선정해준다.
		mViewPager = (ViewPager) findViewById(R.id.pager);
		mViewPager.setAdapter(new pagerAdapter(getSupportFragmentManager()));
		mViewPager.setCurrentItem(FRAGMENT_PAGE1);
//		mViewPager.setClipToPadding(false);

		page1Btn = (Button) findViewById(R.id.Page1Btn);
		page1Btn.setOnClickListener(this);
		page2Btn = (Button) findViewById(R.id.Page2Btn);
		page2Btn.setOnClickListener(this);
		page3Btn = (Button) findViewById(R.id.Page3Btn);
		page3Btn.setOnClickListener(this);
		page4Btn = (Button) findViewById(R.id.Page4Btn);
		page4Btn.setOnClickListener(this);

		mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

			@Override
			public void onPageSelected(int position) {
				// TODO Auto-generated method stub
				page1Btn.setSelected(false);
				page2Btn.setSelected(false);
				page3Btn.setSelected(false);
				page4Btn.setSelected(false);

				switch (position) {
				case 0:
					page1Btn.setSelected(true);
					break;
				case 1:
					page2Btn.setSelected(true);
					break;
				case 2:
					page3Btn.setSelected(true);
					break;
				case 3:
					page4Btn.setSelected(true);
					break;
				}
			}

			@Override
			public void onPageScrolled(int position, float posisionOffset, int posisionOffsetPixels) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onPageScrollStateChanged(int position) {
				// TODO Auto-generated method stub
			}
		});

		page1Btn.setSelected(true);
	}

	// FragmentPageAdater : Fragment로써 각각의 페이지를 어떻게 보여줄지 정의한다.
	private class pagerAdapter extends FragmentPagerAdapter {

		public pagerAdapter(android.support.v4.app.FragmentManager fm) {
			super(fm);
		}

		// 특정 위치에 있는 Fragment를 반환해준다.
		@Override
		public Fragment getItem(int position) {

			switch (position) {
			case 0:
				return new MainTab1();
			case 1:
				return new MainTab2();
			case 2:
				return new MainTab3();
			case 3:
				return new MainTab4();
			default:
				return null;
			}
		}

		// 생성 가능한 페이지 개수를 반환해준다.
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return NUM_PAGES;
		}
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub

		switch (v.getId()) {
		case R.id.Page1Btn:
			mViewPager.setCurrentItem(FRAGMENT_PAGE1);
			break;
		case R.id.Page2Btn:
			mViewPager.setCurrentItem(FRAGMENT_PAGE2);
			break;
		case R.id.Page3Btn:
			mViewPager.setCurrentItem(FRAGMENT_PAGE3);
			break;
		case R.id.Page4Btn:
			mViewPager.setCurrentItem(FRAGMENT_PAGE4);
			break;
		}
	}

	@Override
	/* 뒤로버튼 종료 */
	public void onBackPressed() {
		// super.onBackPressed();
		backPressCloseHandler.onBackPressed();
	}
	
}

 

동네영웅 (220 포인트) 님이 2014년 9월 15일 질문

1개의 답변

0 추천
 
    <android.support.v4.view.ViewPager
        android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
익명사용자 님이 2015년 5월 8일 답변
...