안드로이드
-
170921_TIL(안드로이드에서 웹뷰로 특정 함수 혹은 동작시키기)안드로이드 2017. 9. 21. 18:40
웹뷰에서 안드로이드 함수를 호출하는 것은 많이 해보았는데, 안드로이드에서 웹뷰를 호출하는것은 많이 안해봐서 생소했다. 하는 방법은 그렇게 어렵지 않고 웹뷰는mWebView.addJavascriptInterface(new AndroidBridge(), "android"); 처럼 선언해주고, 특정 버튼을 누를때 웹뷰의 함수를 호출하기 위해서는 다음처럼 호출하면 됩니다.mWebView.loadUrl("javascript:함수명()");
-
[안드로이드] 스크롤뷰 안에 recyclerview 사용하기안드로이드 2017. 3. 22. 17:59
개발을 하다보면 recyclerview 에 여러 type 을 지정해서 리스트들과 이외 항목을 나오게 할수 있지만 스크롤뷰만의 기능을 이용해야 되는 경우에 스크롤뷰 안에 recyclerview 를 사용해야 되는 경우가 있습니다. 이런 경우 개발을 해보니 단순하게 recyclerview 항목이 하나 나오는 경우에는 문제가 없는데, 여러 항목이 나오는 경우 항목만큼 다 나오지 못하는 버그가 있었습니다. https://code.google.com/p/android/issues/detail?id=220204 여기에서도 같은 문제를 이야기 하고 있구요. 계속 해결책을 찾아본 결과 recyclerview 에 setNestedScrollingEnabled 옵션도 바꿔보고setHasFixedSize 옵션도 바꿔보았지만 ..
-
[안드로이드] 탭 이동시 recyclerview 자동 스크롤 막는 법(prevent nested recyclerview from automatically repositioning)안드로이드 2017. 1. 11. 14:22
개발 하면서 탭 두개가 들어가는 FragmentStatePagerAdapter 를 이용해두 개의 fragment 가 있고 그 안에 recyclerview 를 활용하는 화면을 만들었는데 그 recyclerview 안에 또 하나의 vertical recyclerview 가 있어서 일반적인 LinearLayoutManager 를 이용하니 자동으로 크기를 잡아줘서 화면에 나오는 것은 문제가 없었다. 이것은 Android Support Library의 버전이 23.2.0 이 나오면서 바뀐 점 중에 하나가 RecyclerView.LayoutManager에 AutoMeasure 라는 기능이 포함되면서 자동으로 높이값을 잡아준다고 한다. 그래서 화면은 나왔지만, 문제는 다른 탭으로 이동하게 되면 recyclerview..
-
[안드로이드] DrawerLayout, NavigationView 사용하기안드로이드 2016. 12. 27. 10:53
자세한 NavigationView 사용 예제는 생략합니다. NavigationView 를 사용해서 toolbar 에 네이게이션 아이콘을 설정해도 나타나지 않아서 생각보다 쉽게 되지 않았습니다. 그 중에서 ActionBarDrawerToggle을 사용했을때 아이콘 설정 및 클릭했을 때 동작을 소개하려고 합니다. 1. 레이아웃 작성 2. 소스 구현 안된 구현 :Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);getSupportActionBar().setHomeButtonEnabled(true);toolbar.setNavigationIcon(R.drawable.icon_menu); 이렇게만 하고 온갖 옵션 찾아보고 아무리 설정해도 안되어서 stackoverfl..
-
[안드로이드] 글자 선택 팝업안드로이드 2016. 12. 15. 15:19
android 글자 선택 팝업 구현 예제 입니다. final CharSequence[] items = {"글자1", "글자2", "글자3", "글자4"}; AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { textView.setText(items[item].toString()); }});builder.show();
-
[android] 모델 클래스에서 inner 클래스 데이터 바인딩 하기안드로이드 2016. 12. 12. 17:52
일반적인 데이터 바인딩을 한다고 하면 https://developer.android.com/topic/libraries/data-binding/index.html?hl=ko 여기에서 있는 과정을 따라가게 되면 정상적으로 data binding 을 할 수 있다. build.gradle 파일에서 dataBinding { enabled = true } 추가 적용할 layout .xml 파일에서 사용될 부분 이렇게 선언 후 (예시 어댑터)public class AppAdapter extends RecyclerView.Adapter { private List