[9일차]프래그먼트로 뷰 페이져 FragmentStatePagerAdapter getCount getItem Bundle b= new Bundle(); ///////////////////////////프래그먼트 가지고 뷰 페이져를 쓴다. public static TextFragment newInstance(String message){ TextFragment f = enw TextFragment(); Bundle b = new Bundel();b.pusString("message",message); f.setArguments(b); return f;} String message;pulbic void 더보기 [9일차] 뷰페이져 스티키 탭은 스크롤시 탭이 상단에 걸리면서 보여지는 것인데 그게 곤 상태에서 비져블로 바꾼것이다. 데이터 전달 액티비티에서 다른 탭으로 데이터를 전달할때, 그 탭이 생성되어있을수도 잇고 없을수도 있다. 생성되지 않았다면, 그 데이터를 저장 해놓고, 해당 탭이 resume 될때, 그 값을 설정한다. 이게 생각보다 많이 쓰인다. 바로 이동을 시키려면 tabHost.setCurrentTabByTag("tab3") 이렇게 호출해준다. VIewPager ViewPager를 배치하여 보겠다. destroyItem 은 super를 호출하면 안된다. isViewFromObject는 넘긴값이 같은건지 물어보는 메소드 이다. ㅔpager.addOnPageChangeListener (new OnPageChangeListen.. 더보기 [9일차]프래그먼트 탭 그냥 TabHost에는 프래그먼트를 배치 못하므로 FragmentTabHost에 넣어야 한다. 음.. 저렇게 하는구만 FragmentTabHost tabHost; 태호스트 설정 tabHost.setup(컨텍스트,프래그먼트매니져, 컨테이너) tabHost.addTab(tabHost.newTabSpec("").setIndicator(""),OneFragment.class,null); 이렇게 fragment 탭을 추가 해준다. argument가 있으면 addTab에 null 이아니라 번들을 넘겨준다. 리스너를 등록해서 토스트를 띄우게 하면 언제나 토스트는 뜬다. 탭안에 탭도 가능하다. 더보기 [9일차] tabhost TabHost tabwidget 안에 tabspec은 코드로 처리해야한다. 탭호스트를 화면에 배치하면된다. tabwidget과 tabhost아이디는 고정 tabspec은 리니어 레이아웃을 상속 tabhost는 프레임레이아웃을 상속 tabHost.setup() 을 꼭 해줘야한다. 그러면 id 가 tabs인 걸 찾아서 등록한다. tabcontent도 찾아서 등록한다. tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator(여기 view,이미지,를 넣을 수 있다. ).setContent(R.id.tab1))view를 넣을경우 상태를 가진다. 더보기 [9일차] 다양한 화면처리와, 뷰 애니메이션 ViewAnimator 뷰 간 전환 방법 - TextSwitcher 텍스트 스위쳐를 쓰는 방법은 ? 텍트터 스위쳐 안에 텍스트 뷰를 배치하면된다. xml 에 inAnimation 속성으로 페이드인, 페이드 아웃을 설정한다. 이미지 뷰 일경우 이미지 뷰를 넣으면 된다. 뷰 플리퍼라고 해서 두개가 아니라 여러개 넣을 수 있다. 액자같은거에 사진들 바뀌어서 보여지는것들. 일반적으로 오픈소스 라이브러리를 사용한다. AndroidAnimations 오픈소스 주로 오픈소스 라이브러리를 사용하는데 보면서 익히면 되겠다. 다양한 화면 처리 일단 기능 다 되고, UI 다끝나고 한다. 앞에서 하지 않았던 다양한 처리들 탭 사용하기 화면을 옆으로 스크롤 하는거 View pager메뉴만드는방법앱 상단의 타이틀 영역Action.. 더보기 [9일차]액티비티 전환효과 overridePendingTransition 액티비티 전환효과 전환시 사라지는 Activity와 나타나는 Activity에 Animation을 적용하는 것을 의미한다. 커스텀은 안된다. overridePendingTransition 메소드를 이용하여 처리한다. APi16부터는 AcitivityOptions를 사용하도록 가이드 되고 있으나 아직 하위버젼에서 AcitivityOptions가 적용되지 않기 때문에 그냥 overridePendingTransition()을 주로 사용한다. startActivity 하고나서 overridepending 호출해야한다.finish() 하고 나서 호출해한다. FragmentTransction의 add나 remove,replace 호출하기 전에 호출해야한다. 그래서 replace, 나commit 전에 setCusti.. 더보기 [9일차]Property Animation, ObjectAnimation 애니메이션을 하는 순간 뷰가 gone이어도 보여진다. 포물선 이동도 애니메이션으로 가능하다. 그래서 애니메이션 클래스를 만든다. 이니셜라이즈 클래스 오버라이드.뷰에 속한 페어런트의 크기가 넘어온다. 어플라이 변화정보가 넘어온다. interpolatedTime 이만큼 변했을때, 메트릭과 알파 ,로 변환된다. Scale할 수 있다. 이런걸 행렬로 나타 낼 수 있다. 반드시 슈퍼에 이니셜라이즈를 호출해야 한다. 트윈애니메이션 위치가 바뀌는게 아니라 그림만 바뀌는것 그림을 그릴 때 점을 변환해서 그리는 것 바꿔서 찍고 바꿔서 찍고 하는거다. 시간이 주어지면 변환을 얼마나 하는거냐 이런거 3D이런 애니메이션을 할 때는 그래픽에 카메라를 이용해서 변환을 이용해서 하는 것. 이렇게 만들어진 애니메이션으로 리스트같은데.. 더보기 [8일차] 애니메이션 요즘 애니메이션 property 애니메이션이라 한다. 프레임애니메이션, 뷰 애니메이션은 여전히 유효 하다. 뷰 애니메이션은 뷰에서 뷰로 전환 될때 쓴다. 뷰 애니메이션은 조심할게 있다. 터치가 안먹는다. property애니메이션은 누르면 눌린다. 뒤에가서 해볼거지만 텍스트뷰의 크기가 커졌다 작아졌다 하는 거다. 이미지 붙여가지고 만들면 된다. Animaition Drawable로 만들면 된다. 더보기 [8일차] 핸들러카운트다운 실습 핸들러 카운트다운 실습 package com.chapark.samplehandler; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.SystemClock; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; public class CountDownActivity extends AppCompatActivity { TextView countView; @Override protected void.. 더보기 [8일차] Handler Timeout 활용 이제 ~ 뭐해볼거냐면 핸들러에 재밌는 함수들이 있다. 얼마 후에 실행해 이런것들... 그래서 그러한 처리들을 할 수가 있다. 핸들러는 반복적으로 처리하는 경우라든지, 일정시간 후에 시작하는 작업을 이렇게 처리할 수 있다. TimeOut 처리 핸들러 쓰기 onbackpressed해서 토스트를 띄운다. 근데 2초후 토스트가 사라진뒤 눌러도 종료되므로 핸들러를 만들어서 2초 후에 불리언 변수를 초기화 시켜 줘야 한다. public class TimeoutActivity extends AppCompatActivity { public static final int MESSAGE_BACK_KEY_TIMEOUT = 1; public static final int TIMEOUT_TIME = 2000; //back키를 .. 더보기 이전 1 ··· 5 6 7 8 9 10 11 ··· 17 다음