티바이트


ArrayAdapter<String>을 이용해 ListView에 String배열 데이터를 넣고
커스텀뷰를 적용한 사례이다.


리스트뷰의 글자크기나 요소간 간격(item height / element height)도 조절할 수 있다..


listView1은 activity_main.xml에서 배치한 리스트뷰의 아이디이다
소스파일(*.java)에서 ListView객체와 String배열을 정의한다
ListView view = (ListView)findViewById(R.id.listView1); 
String[] values = new String[LIST_NUM]; 
for(int i=0; i<LIST_NUM; i++) {
    values[i] = i;
}
그리고 어레이어댑터를 만들어 뷰에 적용.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_text_view, values);
view.setAdapter(adapter);

바로 위의 코드에서 my_text_view는 임의로 이름 붙인 커스텀뷰인데, 이제 이것을 만들어야 한다
프로젝트 경로에서 res\layout(메인액티비티 레이아웃이 있는 폴더)에 새로운 xml 파일을 만든다.
이름은 위 코드에서 쓴 것과 같아야 한다.(여기서는 my_text_view.xml)

실제로 적용했었던 코드를 그대로 옮겨보면,
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:gravity="center_vertical"
    android:paddingStart="2dip"  //패딩(테두리 여백)
    android:textSize="21sp"  //글자 크기
    android:textColor="#EEEEEE"  //글자색
    android:minHeight="34dp"  //리스트 요소 폭
/>



다음과 같은 레아이웃이 적용된 리스트가 표시된다.

(https://play.google.com/store/apps/details?id=com.zetagate.pitchspeed)


Android게시판의 글 전체보기
Posted by
티바이트
 


댓글을 다는 공간입니다. (로그인하지 않아도 댓글을 남길 수 있습니다.)



게시판 목록은 좌측상단에 있습니다.

Statistics Graph