안드로이드 개발 질문/답변
(글 수 45,052)
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, list); //list 는 ArrayList<String> 입니다.
final ListView lv = getListView();
lv.setAdapter(adapter);
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
이렇게 체크박스를 선택할수 있는 리스트뷰를 만들었습니다.
그런데 리스트뷰의 들어가는 아이템 하나에 들어가는 글자수가
많아지니 글자가 잘립니다. 두줄까지는 잘 나오는데 3줄 부터는
반줄 정도만 보이는데요.
Adapter의 폰트 크기를 조정하거나
내용에 따라 어뎁터 아이템의 공간이 늘어나게 할수는 없나요?
------------------
| item 01 ▣|
------------------
| item02 34567981 |
| 23456789012345 ▣|
| 678 |
------------------
| item 03 ▣|
----------------------------
이런 모양세 가능한지 알고 싶습니다.
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, list); //list 는 ArrayList<String> 입니다.
final ListView lv = getListView();
lv.setAdapter(adapter);
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
이렇게 체크박스를 선택할수 있는 리스트뷰를 만들었습니다.
그런데 리스트뷰의 들어가는 아이템 하나에 들어가는 글자수가
많아지니 글자가 잘립니다. 두줄까지는 잘 나오는데 3줄 부터는
반줄 정도만 보이는데요.
Adapter의 폰트 크기를 조정하거나
내용에 따라 어뎁터 아이템의 공간이 늘어나게 할수는 없나요?
------------------
| item 01 ▣|
------------------
| item02 34567981 |
| 23456789012345 ▣|
| 678 |
------------------
| item 03 ▣|
----------------------------
이런 모양세 가능한지 알고 싶습니다.
2010.03.18 16:24:26
가능합니다. ListView 내부의 개별 View 를 구성하는데 사용하신 Layout 이 android.R.layout.simple_list_item_multiple_choice 이신대요... 해당 레이아웃의 내용을 살펴보면...
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1"
android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:textAppearance="?android:attr/textAppearanceLarge" android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple" android:paddingLeft="6dip"
android:paddingRight="6dip" />
layout_height 속성이 ?android:attr/listPreferredItemHeight 이기 때문에, 텍스트가 잘려서 나오게 됩니다. (고정 크기이니까...)
별개의 layout을 만드시데, layout_height 의 속성이 wrap_content 인 layout을 만들어서 adapter 에 적용하시면 될 듯 합니다.



