Tôi sử dụng thư viện StickyGridHeaders để tạo GridView như snapfish. Dưới đây là cách bố trí dự kiến của tôi:Cửa sổ bật lên trong StickyGridHeader hiển thị sai vị trí
tôi hiển thị một cửa sổ popup khi chạm vào một nút trên cái nhìn tiêu đề (mũi tên màu đỏ) thay vì hộp kiểm. Vấn đề là cửa sổ popup của tôi luôn hiển thị vị trí sai. Từ gỡ lỗi cửa sổ, tôi có thể nhìn thấy nó có cùng một vị trí với nếp tiêu đề, nhưng tôi tắt tiêu đề dính cho GridView của tôi bằng cách sử dụng StickyGridHeadersGridView.setAreHeadersSticky(false);
Đây là tiêu đề bộ chuyển đổi của tôi:
public View getHeaderView(final int position, View convertView, ViewGroup parent) {
final HeaderViewHolder viewHolder;
if(convertView == null){
convertView = inflater.inflate(R.layout.item_header_gallery, null);
viewHolder = new HeaderViewHolder();
viewHolder.tvImagePrice = (TextView) convertView.findViewById(R.id.tvImagePrice);
viewHolder.btnTouch = (Button) convertView.findViewById(R.id.btnTouch);
convertView.setTag(viewHolder);
}else{
viewHolder = (HeaderViewHolder) convertView.getTag();
}
ImageGroup item = headers.get(position);
viewHolder.tvImagePrice.setText(item.getPriceString());
viewHolder.btnTouch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int[] location = new int[2];
viewHolder.btnTouch.getLocationOnScreen(location);
// location always is [905,59] for every header item
System.out.println("location = " + location[0] + "," + location[1]);
// show popup on this location:
mPopupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]);
}
});
return convertView;
}
Nếu tôi hiển thị cửa sổ bật lên trong chế độ xem con thay vì tiêu đề, cửa sổ bật lên hiển thị chính xác. Có gì sai không?
Nếu bạn chưa giải quyết vấn đề này ... hãy thử lấy vị trí từ 'Chế độ xem' đã được nhấp: 'v.getLocationOnScreen (vị trí);' thay vì cá thể từ 'viewHolder'. – myanimal
Tôi đã thử nhưng vẫn hiển thị ở trên cùng của chế độ xem lưới. Bởi vì thư viện này đã cố gắng để xem các tiêu đề trên đầu trang bằng cách đính kèm và tách xem – R4j