목록Android (9)
다메다메의 기술블로그
TextView의 문자를 1줄까지만 표시하기 TextView의 내용을 유저가 결정 할 수 있을 경우, 예상했던 문자 수를 초과 하여 2줄에 걸쳐 표시되는 일이 자주 있습니다. 이럴 경우에 문자열을 1줄까지만 표시되게 제한하는 프로퍼티와 문자열의 처음, 중간, 끝에 [...]으로 생략하여 표시 할 수 있는 옵션이 TextView에 존재합니다. android:maxLines="1" android:ellipsize="start" maxLines는 이름만 봐도 뭐하는 프로퍼티인지 바로 감이 옵니다. 최대 라인수를 1줄로설정하게 됩니다.그리고 ellipsize는 start로 설정하면 문자열의 처음이, middle로 설정하면 문자열의 중간이, end로 설정하면 문자열의 끝 부분이 [...]으로 표시되며 생략됩니다...
ListView안에 Button 배치후 ClickListener 설정하기 ListView안에 Button을 배치 한 후에 각 row의 버튼에 이벤트 리스너를 등록할 때에는 아래와 같이 Adapter의 getView() 메소드에 이벤트리스너를 등록해 주시면 됩니다. public View getView(int position, View view, ViewGroup viewgroup) { Button btn = (Button) view.findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 삭제 처리 ...
ListView안에 ImageButton을 배치하면 ListView의 아이템이 클릭 되지 않을 때 ListView안에 ImageButton을 배치 했습니다.배치 후에 확인을 해 보니 ListView안에 있는 ImageButton은 클릭이 잘 되었습니다만..문제는 ListView의 Item이 클릭이 되지 않는 것이었습니다! 이럴 때의 해결책은 두 가지였습니다. 방법 1. xml의 ImageButton에 다음과 같은 속성을 추가합니다. android:focusableInTouchMode="false"android:focusable="false" 방법 2. ArrayAdapter의 Item 루트 Layout에 다음과 같이 추가합니다. 위의 방법 중에 한 가지만 적용하셔도 ListView의 Item, Image..
1. adb shell 실행 $ adb shell (window)$ ./adb shell (linux)(adb 경로 : [Android Sdk Path]/platform-tools/) 2. 연결된 디바이스에 설치 된 패키지 리스트 확인 모든 패키지 검색 $ pm list packages -f 검색결과ex) package:/data/app/com.example.app-2.apk=com.example.app위의 검색 결과중에 빨간색 문자만 쓰인다. 3. adb shell를 종료한다 $ exit 4. adb pull로 추출한다 $ adb pull /data/app/com.example.app-2.apk
Activity에서 배치한 콤포넌트(Layout이나 View들)의 위치나 사이즈를 구해야 할 경우가 있다. 이럴때는 어디서 구하면 될까? 단순히 "onCreate에서 구하면 구해지겠지"..라고 생각했었다. onCreate에서 뷰의 사이즈를 구해보았다. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); View testView = (View) findViewById(R.id.test_view); Log.d("testView", "Width : " +..
전체 화면을 사용하는 Activity의 경우 StatusBar의 Height를 구해야 할 경우가 있다. 그럴 경우 다음과 같은 코드로 StatusBar의 Height를 구하면 된다. private int getStatusBarHeight() {int result = 0;int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");if ( resourceId > 0 ) {result = getResources().getDimensionPixelSize(resourceId);}return result;}
구동환경 OS : Window 7 Ultimate Eclipse Version : 4.2.1 ADT Package Version : 23.0.2.1259578 이클립스 실행 후 Android SDK Content Loader 가 0%에서 더 이상 진행되지 않는 경우가 있다. 그럴 경우에는 다음과 같은 방법으로 해결한다. 1. 이클립스를 강제종료한다.2. 자신이 지정한 ".android" 폴더로 이동한다. ex) C:\Documents and Settings\계정이름\.android3. cache 폴더를 삭제한다.4. ddms.cfg 파일을 삭제한다.5. 이클립스를 실행한다. 해결됐다...
구동환경 OS : ubuntu 14.04 LTS 64Bit Android Stuido 설치 버전 : 1.0.1 우분투에 Android Studio를 설치하고 헬로 월드를 화면에 표기하기 위해 에뮬레이터를 실행했다. 에러메세지가 표시 된다... 이번엔 또 뭐냐 ㅠ.ㅠ 에러메세지 : :app:mergeDebugResources/(AndroidStudio Install Path)/Android/Sdk/build-tools/21.1.2/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory appt파일에 연결되어 있는 공유라이브러리 파일 libz.so.1을 찾을수 없..
구동환경 OS : ubuntu 14.04 LTS 64bit Android Stuido 설치 버전 : 1.0.1 최근 Android Studio 1.0.1이 발표되어 슬슬 이클립스에서 Anroid Studio로 옮겨야겠다고 마음먹고 옮기기전에 Android Studio에 적응할겸 64비트 우분투에 설치 해보았다. 안드로이드 개발자 사이트에서 리눅스용 Android Studio를 다운받고 설치 후 실행까지는 무난하게 진행되었다. 그리고 기본중의 기본 Hello World를 에뮬레이터로 테스트 해보고자 에뮬레이터를 생성하려했으나 다음과 같은 에러메세지를 뱉으며 생성에 실패 하였다. [2014-12-23 20:56:04 - adb] Unexpected exception 'Cannot run program "/h..