본문 바로가기

나의 플랫폼/안드로이드

[Android] DialogActivity에서 title과 백그라운드 제거 코드 // 타이틀 제거requestWindowFeature(Window.FEATURE_NO_TITLE); // 백그라운드 제거getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 더보기
[Android] ScrollView 안에 GridView나 ListView가 있을 경우. ScrollView 안에 GridView나 ListView를 넣게 되면, GridView나 ListView가 풀 사이즈로 보이지 않습니다. ListView는 위 방법을 HeaderView나 FooterView로 넣는 방법으로 해결이 가능하지만,GrdiView는 HeaderView나 FooterView가 없기 때문에 고민을 해야 햇죠. 이때.. 역시 구글 검신님이 알려주셨습니다.GridView를 확장하게 하는 방법을!! Layout 소스 ExpandableHeightGridView 소스 package xx.xxx.xx.view; import android.content.Context;import android.util.AttributeSet;import android.view.ViewGroup;import.. 더보기
[Android] Textview에 link 달기 Textview를 뿌릴 때, bold나 html 링크형태를 동적으로 변경해야할 경우가 있습니다.이럴 경우, TextView에 HTML 형태를 이용하여 변경이 가능 합니다. txt.setText(Html.fromHtml("My Text is going here...." + "Terms and Conditions. ")); txt.setMovementMethod(LinkMovementMethod.getInstance());위 형태와 같이Html 클래스의 fromHtml 함수를 이용하여 html에 태그를 다양하게 이용할 수 있습니다. 참고로 bold 형태만 줄려면, 그냥 strings.xml에 텍스트 형태로 넣어줘도 문제 없이 동작 합니다. Bold no bold 더보기
[Android] Fragment 사용시 주의점. Framgment를 사용할 때, Refresh 시점이나 생성 시점에 고심해야 한다. Activity의 OnResume이나 OnPause 시점에 생성 및 갱신을 할 시 LifeCycle에서 꼬일 가능성 이 있다!!! 참고: http://regularmotion.kr/fragment-transactions-and-activity-state-loss/ 따라서, Fragment를 사용하는 Activity나 FragmentActivity를 사용할 시 OnResume을 사용 하지 않는 편이 좋다. 이건 꼭 해야 하는건 아니지만, 추후 소스 수정을 막기 위해선 알아두는 편이 좋을 듯 합니다. 더보기
[Android] FragmentPagerAdapter 갱신!!! FragmentPagerAdapter를 사용할 경우 ViewPager와 연동을 합니다.이때 특정 Page에 Fragment를 갱신하고 싶어 모두 알고 계시는 notifyDataSetChanged 함수를 호출 합니다. 하지만! 위 함수를 호출 하더라도 갱신이 되지 않죠!!이럴 경우 아래와 같은 방법을 해보세요. 1. FragmentPagerAdapter 대신 FragmentStatePagerAdapter를 사용한다.2. getItemPosition 함수를 오바라이딩 한다.3. getItemPosition 함수를 이용하여 특정 Fragment만 갱신 한다. @Override public int getItemPosition(Object object) { if (여기는 특정 Fragement를 파악할 수 있는 .. 더보기
[Android] ImageView 사이즈 ViewTreeObserver vto = image1.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { image1.getViewTreeObserver().removeOnPreDrawListener(this); Log.e(getClass().getName(),"imageView size : Height: " + image1.getMeasuredHeight() + " Width: " + image1.getMeasuredWidth()); return true; } }); 위 방법을 통하면 ImageVIew 사이즈를 구할수있다. 더보기
[Android] 현재 실행중인 App 체크 ActivityManager am = (ActivityManager) context.getSystemService(Activity.ACTIVITY_SERVICE); String packageName = ""; if(Build.VERSION.SDK_INT > 20){ packageName = am.getRunningAppProcesses().get(0).processName; } else{ packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName(); } 위 함수를 통하여 현재 실행중인 App의 PackageName을 받을 수 있다. 자기 App과 PackageName이 같은 경우, 현재 자기 App이 샐행되고 있다고 판단하면 된다. ht.. 더보기
[Android] Textview Copy - Clipboardmanager txtView.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { ClipboardManager cm = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE); cm.setPrimaryClip(ClipData.newPlainText("text", ((TextView) v).getText())); return false; } });위 소스를 이용하면 TextView를 롱클릭 했을 시, 클립보드로 텍스트가 저장이 된다.이후, EditText 에서 롱클릭을 할 경우 붙여넣기 버튼이 자동으로 생성 되며,카피 했던 텍.. 더보기