분류 전체보기 (401) 썸네일형 리스트형 뷰의 크기 변경,이동 자식 뷰 추가view.addView( childView, LayoutParams ); 액티비티의 최 상위 윈도우에 윈도우로 뷰 추가하기WindowManager wm =(WindowManager) context.getSystemService( Context.WINDOW_SERVICE ); wm.addView( View ,WindowManager.LayoutParams ); 제거removeView( childView ); 윈도우 뷰wm.removeView( childView ); 뷰의 크기 변경ViewGroup.LayoutParams param = view.getLayoutParams();param.width = 너비;param.height = 높이;view.setLayoutParams(param); 자식 .. 리스트뷰 메쏘드 몇개 >> 헤더 뷰 추가/제거 : addHeaderView( View ) / removeHeaderView( View )>> 푸터 뷰 추가 : addFooterView( View ) / removeFooterView( View )고정된 헤더나 푸터 뷰를 추가하는 메쏘드.adapter 이외의 별도 뷰를 추가하는 용도로 사용된다. 여러개의 헤더, 푸터를 가질 수 있고,레이아웃도 변경 가능하다. 위 메쏘드들은 adapter로 리스트를 구성하기전 (setAdapter)에 처리해 주어야 한다. >> 화면에 보이고 있는 첫 아이템 포지션 : getFirstVisiblePosition() >> x,y 포인터로 포지션 얻기 : pointToPosition(int, int) boolean onTouchEvent(MotionE.. SQLite Database 그동안 db 사용할 일이 없어 그다지 살펴보지 않았는데, 이번에 내부 자료구조를저장해야 할 일이 생겨 급하게 살펴보는 중... SQLiteOpenHelper, SQLiteDatabase데이터는 MediaStore 에서처럼 위 데이터베이스 클래스를 통해 쿼리하고, Cursor를 통해 각 row를전달받게 된다.데이터 베이스에 자료를 넣기 위해서는 ContentValues 에 데이터를 put 해서 insert, update 해주면 된다. >> SQLiteOpenHelperSQLiteOpenHelper를 통해 SQLiteDatabase 객체를 전달받아 db에 쿼리 등 작업이 이루어지게 된다. SQLiteOpenHelper(Context, String, SQLiteDatabase.CursorFactory, int.. Edittext 관련 사항들 >>EditText setSelection( 위치)커서 위치 setSelection( 시작위치, 끝위치 )텍스트 선택 requestFocus() 포커스 주기 setInputType( type )InputType.TYPE_NULL : 클릭해도 키보드 올라오지 않게..InputType.TYPE_CLASS_NUMBER : 숫자자판InputType.TYPE_TEXT_VARIATION_PASSWORD : 영문자판 > 요건 단말의 IME 에 따라 달라질 수 있음 setImeOption ( android:imeOptions )입력 키보드의 옵션과 액션을 설정할 수 있다.액션에 따라 키보드의 엔터, 다음, 검색 등의 완료 버튼이 적용된다.해당 액션은 액션 리스너에서 판단 할 수 있다. 레이아웃에서 android:ime.. MediaStore 오디오 재생목록 >> 중요 필드MediaStore.Audio.Media_ID : 미디어 IDDATA : path MediaStore.Audio.Playlists_ID : 플레이리스트 아이디NAME : 플레이리스트 이름 MediaStore.Audio.Playlists.MembersAUDIO_ID : 미디어 ID >> 재생목록 생성String name = "생성할 리스트 이름"; // Uri uri;// context 의 resolver 얻기ContentResolver resolver = getContentResolver(); // 해당 이름의 플레이 리스트가 있는지 검사Cursor c = resolver.query( MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,null,MediaS.. List adapter 리스트 관련해 정리한게 하나도 없었다.희안하게도 근 2년 동안 리스트를 쓸 일도 없었다 -_-;;물론, BaseAdapter를 상속받아 갤러리 어댑터는 사용했지만다른 리스트들은 프로젝트에 포함된 적이 없으니.. 이제서야 리스트와 관련한 어댑터를 정리 해본다. ArrayAdapterstring 배열을 위한 어댑터레이아웃과 하나의 뷰를 표시하기 위한 어댑터이다.new ArrayAdapter( this, R.layout.xxx, list ); 커스텀한 레이아웃을 구성하기위해서는getView() 를 오버라이드해 준다.getView에서 지정한 레이아웃이 입력되는데, 이 뷰를 inflate 해서 하위 요소들을 얻고,해당 하위 뷰에 데이터를 설정하면 된다. CursorAdapter일반적으로 db 쿼리에 따른 데이터를.. 낙서 그냥 가로,세로 전환 관련해 이렇게 써먹어 보면 어떨까 해서 적어봄..일단 진저까지 가로세로간 에니메이션은 지원하지 않으므로,이건 어쩔수 없다고 쳐도.. 가로, 세로의 경우 서로다른 액티비티를 사용하는 프로그램에서액티비티간 에니메이션 역시 세로->가로, 가로->세로인 경우 정상적으로 먹지않는증상(?)이 나타나서... 꽁수 연구중..허니콤부터는 상관없을 것 같은데...쩝.. 세로 레이아웃은 원하는 디자인을 넣고,가로 레이아웃은 LinearLayout id="@+id/layout_a" 하나로만 구성. 세로에서 가로로 전환이 이루어지면, 바로 레이아웃을 set 하지말고, 현재 화면을 복사.이후 가로모드로 set 하고, 배경으로 복사한 이미지 그림. 그리고, 액티비티 호출. public void onConfig.. 터치 이벤트 처리순서 터치 이벤트의 순서 터치 이벤트 발생시 처리되는 핸들러 메쏘드의 순서는 아래와 같다.dispatchTouchEvent()onTouch()onLongClick()dispatchTouchEvent()onTouch()on_click()동일한 메쏘드는 down, up 으로 구분된다. 저 순서는 다시 activity - viewgroup - view 로 향한다.onLongClick 와 on_click 은 확정된 처리이므로, 이벤트를 하위로 넘길 수 없지만나머지 메쏘드들은 boolean 리턴 값으로 해당 이벤트가 처리되었는지를알릴 수 있다. ViewGroup의 경우 하위로 가는 이벤트를 가로챌 수 있는 핸들러도 존재한다.onInterceptTouchEvent() 또한, 부모 ViewGroup이 이벤트를 가로채지 말.. 이전 1 ··· 37 38 39 40 41 42 43 ··· 51 다음