나는 사용자 지정 목록보기에서 작업 중이며 각 행은 2 개의 이미지보기를 배경으로 사용합니다. 각 항목 사이의 공백이 남아 있다는 사실을 제외하고는 모두 잘 작동합니다. 여기 내 코드 :빈 공간 제거 목록보기 안드로이드
처음 내 list_row.xml. 2 개의 이미지 뷰는 첫 번째 이미지를 어둡게 만들고 텍스트를 훨씬 쉽게 읽을 수 있도록하는 그림과 어두운 오버레이입니다. 각 행의 배경으로 작동합니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<!-- BG Image -->
<ImageView
android:id="@+id/image_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"/>
<!-- Dark Overlay for BG Image -->
<ImageView
android:id="@+id/image_bg_over"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/filler"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_centerHorizontal="true" />
<!-- Bar Name -->
<TextView
android:id="@+id/barname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/filler"
android:textSize="@dimen/title"
android:textStyle="bold"
android:textColor="@color/list_text_color"/>
<!-- Address -->
<TextView
android:id="@+id/address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/barname"
android:gravity="center"
android:layout_marginTop="1dip"
android:textColor="@color/list_text_color"
android:textSize="@dimen/rating"/>
<!-- Text CheckIn/CheckOut -->
<TextView
android:id="@+id/check"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_below="@+id/address"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"
android:textColor="@color/list_text_color"
android:textSize="@dimen/genre"/>
<!-- Image CheckIn/CheckOut -->
<ImageView
android:id="@+id/checkImg"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:layout_below="@+id/address"
android:gravity="right"
android:layout_toRightOf="@+id/check"
android:adjustViewBounds="true" />
</RelativeLayout>
그럼 내 어댑터 :
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.list_row, null);
ImageView bgImg = (ImageView) convertView.findViewById(R.id.image_bg);
ImageView bgImgOver = (ImageView) convertView.findViewById(R.id.image_bg_over);
TextView barname = (TextView) convertView.findViewById(R.id.barname);
TextView address = (TextView) convertView.findViewById(R.id.address);
ImageView checkImg = (ImageView) convertView.findViewById(R.id.checkImg);
TextView check = (TextView) convertView.findViewById(R.id.check);
Bar m = barItems.get(position);
bgImg.setImageResource(R.drawable.bg_default);
bgImgOver.setImageResource(R.drawable.bg_darkover);
barname.setText(m.getPlaceName());
address.setText(m.getAddress());
check.setText("Check-In");
checkImg.setImageResource(R.drawable.ic_checkin);
return convertView;
}
조각의 XML :
@Override
public void onViewCreated(View view, Bundle savedInstanceState) { //Otherwise can't use findViewById
listView = (ListView) getView().findViewById(R.id.list);
adapter = new CustomListAdapter(getActivity(), barList);
listView.setAdapter(adapter);
Bar bar1 = new Bar();
bar1.setPlaceName("place1");
bar1.setAddress("Addr1");
barList.add(bar1);
Bar bar2 = new Bar();
bar2.setPlaceName("place2");
bar2.setAddress("Addr2");
barList.add(bar2);
Bar bar3 = new Bar();
bar3.setPlaceName("place3");
bar3.setAddress("Addr3");
barList.add(bar3);
adapter.notifyDataSetChanged();
listView.setDivider(null);
listView.setDividerHeight(0);
}
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/places_list"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
조각의 onViewCreated 방법은있는 내가 목록보기를 만들
setDivider를 사용하면 공백이 아닌 검은 색 칸막이를 표시합니다. 스크린 샷에서 공간을 볼 수 있습니다.
이 공간을 만드는 상대 레이아웃 내부에서 실수를 한 것 같지만 도움이되는 곳을 찾을 수 없습니다!
이 당신의 목록보기 XML –
가능한 중복 게시 [안드로이드 목록보기 항목 사이의 공백을 제거 (http://stackoverflow.com/questions/24372535/android-listview-remove-any-space-between-items) – Ironman
에 편집 됨 내 조각 XML을 추가하십시오. 나는 그것이 중복이라고 생각하지 않는다. 전에 체크해 봤더니,'listView.setDivider (null); listView.setDividerHeight (0);'그러나 문제를 해결하지 못했습니다 –