본문 바로가기

fragment

[Android] setCustomAnimations 이 동작하지 않을때 Fragment 이동할 시, setCustomAnimations 함수를 이용하여 커스텀하게 Animation을 주게 됩니다.이때 설정은 분명 잘 한것 같은데 동작을 잘 하지 않지요. 혹시 아래와 같이 설정하시지 않았나요?FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out); transaction.replace(R.id.main_container_, new NoticeFragment()); transaction.addToBackStack(null); transaction.commit(); 그럼 한번 .. 더보기
[Android] Fragment에서 toolbar의 back button이 안 먹힐 때 혹시, Fragment에서 Toolbar를 사용하시는데, onOptionsItemSelected 이 먹히지 않을 경우 이부분도 생각 해보시라고 글을 남깁니다. Toolbar 에서 Back 화살표를 눌러 종료를 만듭니다. 이 리스너를 아래와 같이 설정해 놓지요. @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { // some doing } return super.onOptionsItemSelected(item); } 하지만, 아무리 위와같이 설정을 해도 이벤트가 넘어 오질 않습니다. 이건! Fragment의 특성 때문입니다. 아마 구글링 해서보시면 여러 글이 나올.. 더보기
[Android][스크랩] Fragment에서 Back Key Event 처리 Fragment에서 Back키가 눌렸을 때 이를 받아먹고 싶지만, 이게 뜻대로 안 됨. 키 이벤트는 다 액티비티가 받아먹으니까. 그래서 Fragment가 붙어있는 액티비티에다가, (다시말해, Fragment에서 getActivity를 하면 얻을 수 있는 Activity에서) Colored By Color Scripter™12345678public interface onKeyBackPressedListener { public void onBack();}private onKeyBackPressedListener mOnKeyBackPressedListener; public void setOnKeyBackPressedListener(onKeyBackPressedListener listener) { mOnKeyB.. 더보기
[Android] Fragment transition 이용시 SomeFragment fragment = SomeFragment.newInstance(bitmap); FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { fragment.setSharedElementEnterTransition(new DetailsTransition()); fragment.setEnterTransition(new Fade()); fragment.setExitTransition(new Fade()); fragment.setSharedElementReturnTransition(ne.. 더보기
[Android] android.support.v4.app.fragment.getallowreturntransitionoverlap 안드로이드 L 버전부터 Materail Design으로 표현할 수 있는 애니메이션이 많습니다. Fragment로 이동할 때, View마다 연결을 해서 애니메이션 효과를 줄 수 있는데요. ( 아래 블로그 내용 참고 : ) 제가 Tab과 ViewPager로 이동 하면서 아래와 같은 Exception이 발생 했습니다. java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v4.app.Fragment.getAllowEnterTransitionOverlap()' on a null object reference at android.support.v4.app.BackStackRecord.configureTran.. 더보기
[Android] 특정 Layout 위치에 Fragment를 변환 대부분 아는 내용이라 생각되지만, Fragment를 활용하는 개념을 이해하는데 좋을 듯 하여 이렇게 글을 남깁니다. 테스트는 위 그림과 같이 버튼을 누른 이벤트 따라 Layout 영역이 변경되는 것을 확인 하는 아주 간단한 예제 입니다. ## MainActivity public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btn_fr.. 더보기
[Android] 한 FrameActivity 안에 여러개의 ViewPager를 사용할 때 주의점. FrameActivity 에서 ViewPager를 하나만 사용할 경우, 아래와 같은 예제를 많이 이용하실 껍니다.package com.truiton.fragmentpageradapter; import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.view.Menu;import android.view.. 더보기
[Android] Fragment 사용시 주의점. Framgment를 사용할 때, Refresh 시점이나 생성 시점에 고심해야 한다. Activity의 OnResume이나 OnPause 시점에 생성 및 갱신을 할 시 LifeCycle에서 꼬일 가능성 이 있다!!! 참고: http://regularmotion.kr/fragment-transactions-and-activity-state-loss/ 따라서, Fragment를 사용하는 Activity나 FragmentActivity를 사용할 시 OnResume을 사용 하지 않는 편이 좋다. 이건 꼭 해야 하는건 아니지만, 추후 소스 수정을 막기 위해선 알아두는 편이 좋을 듯 합니다. 더보기