본문 바로가기

반응형

Android

[Android] Fragment 별로 메뉴 구성 다르게 하기 안드로이드 메뉴 구성 할때 Fragment별로 메뉴 구성을 다르게 하기 Activity에서 menu 구성하던 방법과 유사하게 onCreateOptionMenu를 Ovrride해주면 된다. 여기서 주의 할 점은 setHasOptionsMenu(true); 함수를 적어 주어야 한다는 것이다. 메뉴 클릭의 경우에도 onOptionsItemSelected를 Ovrride해주어 아이템 아이디 별로 이벤트를 작성해 주면 된다. 1. FragmentA public class FragmentA extends Fragment { private LinearLayout FragmentA; @Override public View onCreateView(LayoutInflater inflater, ViewGroup contai.. 더보기
[Android] Activity에서 Fragment 함수 호출, Fragment에서 Activity 함수 호출 프라그먼트를 사용하다 보면 Fragment에서 Activity 함수를 호출하는 경우, Activity에서 Fragment 함수를 호출하는 경우가 꽤나 있다. 1. Activity function call from Fragment((MainActivity)getActivity()).testFunction(); 2. Fragment function call from Activity 2.1 findFragmentTag 이용((FragmentB) getSupportFragmentManager().findFragmentByTag("fragmentTag")).testFunction(); 2.2 findFragmentById 이용TestFragment tf = (TestFragment) getSupportFragme.. 더보기
[Android] 화면전환시 새로 그리기 방지(configChanges) 안드로이드에서 화면이 가로에서 세로, 세로에서 가로로 전환될때 화면을 다시 그리기 위해 OnCreate가 발생하고는 한다. 하지만 이럴 경우 이전 상태에 대한 대응이 없으면 참으로 피곤한 경우가 발생할 경우가 많다. 그럴때는 화면이 전환될때의 이벤트를 따로 분리시켜 처리해주면 아주 쉽게 대응할 수 있다. 우선 Mainfest에서 configChanges옵션을 추가해 준다. 여기서는 orientation, screenSize 즉 가로, 세로 전환과 화면 크기가 변화가 있을대 이벤트를 발생시킨다는 의미이다. *configChanges Syntax는 아래와 같다. ( https://developer.android.com/guide/topics/manifest/activity-element.html ) Main.. 더보기
[Android] 안드로이드 해상도별 Dimens 안드로이드 해상도 별로 Dimens를 나눠 줄 때 Dimens를 어떻게 나눠야 할지 고민이 많이 된다. 아래 링크를 확인해 보면 다양한 기기의 Density, Dimensions, 기타 등등의 정보를 얻을 수 있다. https://material.io/devices/ 이 중 본인이 대응하고자 하는 디바이스에 대한 Dimens를 나눠서 설정하면 될 것이다. 그 중 기본적으로 아래 정도로 나눠서 사용한다면 구글 래퍼런스폰인 넥서스 시리즈의 거의 대부분의 디바이스에 대응할 수 있을 것이다. values-sw720dp values-sw600dp values-sw480dp values-xhdpivalues-hdpi 위와 같이 대응하고자하는 해상도 별 Values 폴더를 만들고 그 안에 dImens.xml을 넣어 .. 더보기
[Android] 안드로이드 텍스트박스 다이얼로그 띄우기 아래 그림과 같이 텍스트 입력이 가능한 알러트 띄우는 방법에 대해서 알아보자. 기존 알러트 띄우는 방식과 크게 다르지 않기 때문에 아래 코드를 보면 어려운 점은 없을 것이다. final AlertDialog.Builder builder = new AlertDialog.Builder(this); EditText input = new EditText(this); builder.setTitle(getString(R.string.select_hospital)); builder.setView(input); builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogI.. 더보기
[Android] 안드로이드 자바 코드에서 레이아웃(Layout) 변경 방법 자바 코드에서 레이아웃 설정 변경이 필요할때가 가끔 있다.레이아웃 변경은 아래코드를 응용하면 얼마든지 자바 코드에서 가로, 세로 크기나 gravity, 백그라운드 색상등 다양한 작업을 할 수 있을것이다. FrameLayout flVideoBackground = (FrameLayout) findViewById(R.id.fl_video_background); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams (LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT); params.setMargins(10, 10, 10, 10);params.width = 30.. 더보기
[Android] 안드로이드 뒤로가기 종료 안드로이드의 기본적인 버튼 기능 중 하나인 뒤로가기 종료. 잠깐의 시간 내에 2번의 뒤로가기를 눌러야 종료가 되는 기능을 많은 앱에서 사용하고 있다. 뒤로가기 종료는 아래와 같이 처음 뒤로가기를 눌렀을 때의 시간을 기록하고 설정해 둔 2초 이내 한번 더 눌렀을 때 계산을 통해서 종료하는 방법이다. private final long FINSH_INTERVAL_TIME = 2000; //2초 private long backPressedTime = 0;@Override public void onBackPressed() { long tempTime = System.currentTimeMillis(); long intervalTime = tempTime - backPressedTime; if (0 = interv.. 더보기
[Android] 안드로이드 폴더 내 파일 리스트 가져오기 오늘은 안드로이드 파일 리스트를 가져오는 방법에 대해서 알아볼 것이다. 크게 어려운 부분 없이 아래 코드와 같이 path에 가지고 오고자 하는 폴더의 위치를 입력시켜 준다. 폴더 path를 입력한 뒤 listFiles를 이용하여 폴더 내 원하는 확장자 파일 리스트를 읽어 오면 끝! String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM) + "/test"; //파일 위치File f = new File(path); File[] files = f.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { return pathnam.. 더보기

반응형