본문 바로가기

[jQuery] 제이쿼리에서 아이템 동적 추가후 스타일 적용 문제(select, listview 등) 리스트뷰에만 해당하는 것은 아니고, 모든 jquery 위젯에 해당하는 문제인데, 아이템들을 동적 추가하면 jquery에서 자동으로 추가하는 class 들이 해당 dom에 추가되지 않는다. jquery는 html 화면을 불러들일 때, html을 파싱해서 각각 태그에 맞게 클래스를 추가하게 된다. dom을 동적으로 추가할 경우, 이 로직을 타지 않기 때문에 jquery 스타일이 적용되지 않는다. 이 문제를 해결하기 위해서는 1줄만 추가해주면 된다. - listview$jqueryObject.listview('refresh') - select$jqueryObject.selectmenu('refresh') 동적 추가후 화면이 제대로 적용이 되지 않는다면! refresh를 꼭 해주자! 더보기
[Android] LinearLayout 에 View 동적 추가시 weight 주는 방법 linearlayout에 하위뷰를 추가해야 하는 경우가 있다. 여러 개가 추가될 경우 좌우 또는 상하 간격을 동일하게 주기 위해 weight 를 줘야 하는데, ViewGroup을 만들어 Parent 뷰로 묶지 않는 이상 xml 단에서 아무리 weight를 줘도, 제대로 동작하지 않는다. 이 문제를 해결하기 위해서는 뷰를 추가할 때 아래와 같이 LayoutParams를 함께 적용 시켜 주면 된다. LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); layoutParams.weight = 1.. 더보기
[Android] 안드로이드 TextView 글자에 색깔 넣기. 부분적으로 색깔 넣기. html 스타일 적용. Spannable 객체를 이용할 경우. 24와 37은 인덱스 값. 24~37 사이에 있는 글자만 변경된다. Spannable descriptionString = (Spannable) mDescriptionTextView.getText(); descriptionString.setSpan(new StyleSpan(Typeface.BOLD), 24, 37, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); descriptionString.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.guide_message_highlight)), 24, 37, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE.. 더보기
[Android] TextView, 글자에 외곽선(Border, outline) 넣기 안드로이드에서 외곽선을 넣기 위해선 TextView를 Customizing해야한다.(다른방법이 있을 수도..;) TextView를 상속받아서 뷰를 조금 수정해야하고, 편하게 사용하기 위해 attr을 선언해주면 된다. 먼저 TextView를 상속 받은 OutlineTextView를 만든다. public class OutlineTextView extends TextView { private boolean hasStroke = false; private float mStrokeWidth = 0.0f; private int mStrokeColor; public OutlineTextView(Context context) { super(context); } public OutlineTextView(Context c.. 더보기
[Android] 안드로이드에서 httpPost multiparts로 전송하기(멀티파트, 멀티파츠) 안드로이드에서는 httpClient의 버전이 낮아 multiparts를 지원하지 않는다. 보내고 싶다면 httpConnection을 열고, buffer를 통해서 전송해야 하는데, 만들기가 여간 귀찮은 것이 아니다. apache에서 httpComponents를 제공하고 있는데, 해당 라이브러리를 사용하면, 별다른 구현을 하지 않더라도 multiparts로 전송할 수 있게 된다. 물론 약 1메가 정도의...라이브러리가 추가되긴 하지만.. 아파치 사이트로 이동하여 httpClient 최신버전을 다운받는다.(전 4.3.X 버전 사용중) Download Page(Click) 당연히 jar 파일이 필요하기 때문에 binary를 클릭해서 받아준다. 다운후 압축을 해제하게 되면, examples, lib, tutori.. 더보기
[Android, Hybrid] JavascriptInterface 사용법. 아이폰의 경우 Native와 Web간의 통신을 위해서 scheme를 이용하지만 안드로이드에서는 JavascriptInterface를 이용하여 더욱 편하게 데이터를 주고 받을 수 있다. 예제로 간단한 Toast를 보여주는 인터페이스를 만들어 보겠다. 먼저 웹뷰에 추가 시킬 JavascriptInterface 클래스를 만든다. public class WebViewInterface { private WebView mAppView; private Activity mContext; /** * 생성자. * @param activity : context * @param view : 적용될 웹뷰 */ public WebViewInterface(Activity activity, WebView view) { mAppVie.. 더보기
[Web] window.print() 로 원하는 영역 인쇄하기. window.print 함수를 사용하여 인쇄할 때의 영역은 document.body 의 innerHTML이 잡히게 된다. 흔히 많이 사용하는 것중에 하나로, 원하는 영역의 html을 body에 넣어서 인쇄하는 방법이다. 하지만 single page 기반이나, jsp를 사용하지 않는 순수한 html의 경우 이방법을 사용하였을 때, 페이지가 거침없이 깨지는 경우가 대부분이다. 그래서 새창을 통해 인쇄하는 방법을 사용한다. 먼저 팝업 윈도우하나를 선언한다. 이때 새창이 생기게 되고, 정상적으로 열렸다면 popupWindow에는 새창에 대한 window 객체가 들어오게 된다. 팝업 차단으로 인해 열리지 않았을 경우 popupWindow 에는 undefined가 리턴되게 된다. var popupWindow = w.. 더보기
My UserAgent 유저에이전트 알아내기 한줄 끝! window.navigator.userAgent UserAgent is : 더보기
[HTML5] audio, video tag 지원 유무 확인 if ( document.createElement("video").canPlayType ) {console.log("true")} //지원 else { console.log( "false" );} //미지원 더보기
[Javascript] input file 이미지 미리보기, 썸네일 보기, Thumbnail /** * 이미지 썸네일을 불러오는 function * @param html : input 필드의 dom을 인자로 받는다. 물론 타입은 file * @param $target : 불러온 이미지를 적용할 jquery 객체. **/ function getThumbnail(html, $target) { if (html.files && html.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $target.css('background-image', 'url(\"' + e.target.result + '\")'); } reader.readAsDataURL(html.files[0]); } } 냉무. 더보기