본문 바로가기

반응형

Android

[Android] 안드로이드 TextView에 html태그 그대로 적용하기 안드로이드 TextView에 HTML 포멧을 그대로 적용시켜서 집어 넣을 수 있는 함수 Html.fromHtml("html format"); Html.formHtml() 함수를 사용하여 TextView에 아래와 같이 그대로 적용 시킬 수 있다. tvTtitle.setText(Html.fromHtml("html format")); 더보기
[Android] AlertDialog 표시하기 AlertDialog 띄우기 AlertDialog.Builder alert_confirm = new AlertDialog.Builder(mainActivity); alert_confirm.setMessage("message").setCancelable(false).setPositiveButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 'ok' } }).setNegativeButton("cancle", new DialogInterface.OnClickListener() { @Override public void onClick(DialogIn.. 더보기
[Android] 안드로이드 KeyEvent 2번 실행 방지 안드로이드 키보드 이벤트 리스너를 할때 생기는 문제 중 하나는 바로 키 이벤트가 2번 연속으로 발생한다는 것이다. 그 이유는 처음 키가 눌렀을 때 한번 손가락을 화면 키에서 뗐을 때 한번 총 2번의 이벤트가 발생하기 때문이다. 그럴때는 아래와 같이 키가 눌러졌을때 빠져나갈 수 있도록 만들어 주면 된다. (반대로 뗐을 때로 수정 가능하다.) textView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int i, KeyEvent keyEvent) { if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) return true; switch (i) { case Key.. 더보기
[Android] 안드로이드 Fragment replace할때 onCreate 다시그리기 방지하기 네비게이션 드로어를 사용하다 보면 아래와 같은 방법으로 Fragment replace를 많이 사용하고는 한다. 하지만, 아래와 같은 방법으로 사용했을때 가장 큰 문제점은 Fragment들이 replace될 때마다 onCreate하여 화면을 다시 그린다는 것이다. Fragment 라이프사이클도 찾아보고 방법을 생각해 보았지만 화면을 다시 그리는 상황을 막아야할 때 이 문제를 어떻게 해결해야할지 막막했다. FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.fragment_container, fragment, fragmentTag) .commitAllowingSt.. 더보기
[Android] TabLayout 탭 레이아웃 만들기!!(유튜브 탭 레이아웃) 안드로이드 탭 레이아웃을 만드는 방법을 알아보자. 우선 레이아웃부터 정의하면 아래와 같다.1-1. XML 1-2 의 경우 유튜브의 가로 모드에서 볼 수 있는 탭과 툴바가 한 줄에 위치한 모양으로 아래와 같다.이처럼 구성하면 가로모드일때 화면을 더욱 효율적으로 사용할 수 있는것 같다. 1-2. XML 이제 어답터를 만들고2. TabAdapterpublic class MainTabAdapter extends FragmentPagerAdapter { private final List mFragments = new ArrayList(); private final List mFragmentTitles = new ArrayList(); public MainTabAdapter(FragmentManager fm) { .. 더보기
[Android] EditText 엔터키 이벤트 EditText 에서 가상키보드 엔터키에 대한 이벤트를 발생시키는 방법에 대해서 알아보면 아래와 같이 setOnKeyListener 이벤트를 달아 준 뒤 엔터키 이벤트에 대한 작업을 붙여 주면 된다. EditText testText = (EditText) findViewById(R.id.text_text); testText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int i, KeyEvent keyEvent) { switch (i){ case KeyEvent.KEYCODE_ENTER: //event } return true; } }); 엔터 이외에 추가적인 키 이벤트에 대한 것은 아래 안드로이.. 더보기
[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.. 더보기

반응형