ListView의 셀 높이 조절이 안됩니다.
조회수 3542회
ListView의 셀 높이 조절이 안됩니다.
android:layout_height="70dp" 를 줘서 셀의 높이 70dp 로 나와야하는데
너무 크게 나옵니다. minheight도 해봤고 줄여도 봤고 늘려도 봤는데 변화가 없습니다.
- SwipeMenuListView 오픈 소스를 사용했습니다.
<com.baoyz.swipemenulistview.SwipeMenuListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/inspectorListView"
android:layout_gravity="center_horizontal" />
- activity_ inspector_ list_ item.xml (리스트뷰 셀 구성)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@drawable/bg_yellow">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="left|center_vertical"
android:layout_marginLeft="10dp" />
<TextView
android:id="@+id/itemInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:layout_marginLeft="30dp"
android:layout_weight="1"
android:textSize="15dp"
android:textColor="@color/white"/>
</LinearLayout>
- adapter 부분 입니다
private class InspectorAdapter extends ArrayAdapter {
LayoutInflater mLayoutInflater;
public InspectorAdapter(Context context, int resource, ArrayList<InspectorItem> list) {
super(context, resource, list);
mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
ViewHolder viewHolder;
if (convertView == null) {
view = mLayoutInflater.inflate(R.layout.activity_inspector_list_item, parent, false);
viewHolder = new ViewHolder();
viewHolder.thumbnail = (ImageView) view.findViewById(R.id.thumbnail);
viewHolder.itemInfo = (TextView) view.findViewById(R.id.itemInfo);
view.setTag(viewHolder);
} else {
view = convertView;
viewHolder = (ViewHolder) view.getTag();
}
InspectorItem inspectorItem = (InspectorItem) getItem(position);
viewHolder.thumbnail.setImageResource(inspectorItem.getThumbNail());
viewHolder.itemInfo.setText(inspectorItem.getItemInfo());
return view;
}
}
private class ViewHolder {
private ImageView thumbnail;
private TextView itemInfo;
}
1 답변
-
코드로는 문제가 없어보입니다.
activity_ inspector_ list_ item.xml
에서 LinearLayout의android:background="@drawable/bg_yellow"
여기에서 쓰인 bg_yellow 는 색인지, 이미지파일인지 궁금합니다. 혹시 이미지라면 이미지의 높이가 큰것은 아닌지 확인해보세요.그리고 이것은 다른 tip인데요. UI가 제대로 안나올때 android device monitor에서 제공하는 dump view 기능을 이용해보세요. 다른 앱의 UI구성을 보거나 내 앱의 view 계층구조가 제대로 구성되어있는지 분석할때 도움이 됩니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력