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

viewpaper 화면구현시 두개의 화면

0 추천
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.service_select);
setLayout();
mPager = (ViewPager)findViewById(R.id.pager);
        mPager.setAdapter(new PagerAdapterClass(getApplicationContext()));
}
 
 
     
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.sidemenu_concierge:
setCurrentInflateItem(0);
break;
case R.id.sidemenu_roomset:
setCurrentInflateItem(1);
break;
case R.id.sidemenu_facility:
setCurrentInflateItem(2);
break;
default:
break;
}
}
 
    private void setCurrentInflateItem(int type){
        if(type==0){
            mPager.setCurrentItem(0);
        }else if(type==1){
            mPager.setCurrentItem(1);
        }else{
            mPager.setCurrentItem(2);
        }
    }
    
private void setLayout()
{
currrent_langues = (TextView)findViewById(R.id.currrent_langues);
sidemenu_concierge = (ImageView) findViewById(R.id.sidemenu_concierge);
sidemenu_roomset = (ImageView) findViewById(R.id.sidemenu_roomset);
sidemenu_facility = (ImageView) findViewById(R.id.sidemenu_facility);
time = (TextView)findViewById(R.id.time);
day = (TextView)findViewById(R.id.day);
sidemenu_concierge.setOnClickListener(this);
sidemenu_roomset.setOnClickListener(this);
sidemenu_facility.setOnClickListener(this);
background = (ImageView)findViewById(R.id.background);
 
 
}
 
    
 
    
 
 
    
 
    
 
 
    private class PagerAdapterClass extends PagerAdapter{
        private LayoutInflater mInflater;
        
        public PagerAdapterClass(Context c){
            super();
            mInflater = LayoutInflater.from(c);
        }
        
@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}
        @Override
        public Object instantiateItem(View pager, int position) {
            View v = null;
            if(position==0){
                v = mInflater.inflate(R.layout.inflate_one, null);
                v.findViewById(R.id.iv_one);
                v.findViewById(R.id.btn_click).setOnClickListener(mPagerListener);
            }
            else if(position==1){
                v = mInflater.inflate(R.layout.inflate_two, null);
                v.findViewById(R.id.iv_two);
                v.findViewById(R.id.lamp_control).setOnClickListener(lampListener);
                v.findViewById(R.id.tv_control).setOnClickListener(tvListener);
                v.findViewById(R.id.temp_control).setOnClickListener(tempListener);
                v.findViewById(R.id.blind_control).setOnClickListener(blindListener);
                v.findViewById(R.id.alram_control).setOnClickListener(alramListener);
            }else{
                v = mInflater.inflate(R.layout.inflate_three, null);
                v.findViewById(R.id.iv_three); 
                v.findViewById(R.id.btn_click_3).setOnClickListener(mPagerListener);
            }
             
            ((ViewPager)pager).addView(v, 0);
             
            return v; 
        }
        @Override
        public void destroyItem(View pager, int position, Object view) {    
            ((ViewPager)pager).removeView((View)view);
        }
         
        @Override
        public boolean isViewFromObject(View pager, Object obj) {
            return pager == obj; 
        }
 
        @Override public void restoreState(Parcelable arg0, ClassLoader arg1) {}
        @Override public Parcelable saveState() { return null; }
        @Override public void startUpdate(View arg0) {}
        @Override public void finishUpdate(View arg0) {}    
    }
 
인터넷에서 이것저것 보고 구현을 해보는중인데 화면상에 두개의 화면이 걸치게 하는방법이
 
어떤게 있나요?viewpaper를 검색해서 이것저것 따라 해보았는데 잘 안되네요
 
참고될만한 사이트나 힌트좀 주시면 감사하겠습니다..ㅠ
박주장 (520 포인트) 님이 2015년 5월 19일 질문

1개의 답변

0 추천
자답입니다...

getPageWidth이란 함수가 있었네요..

 

우어어
박주장 (520 포인트) 님이 2015년 5월 19일 답변
...