Tôi muốn thực hiện một giao diện tùy chỉnh như Pinterest trong mã của tôi, tôi sử dụng scrollview và 3 LinearLayout bên scrollview tôi tùy chỉnh xem tên waterfallView của tôi ở đây là đoạn code:Layout như Pinterest
public class WaterfallView extends LinearLayout {
private ListAdapter m_Adapter;
private OnClickListener onClickListener = null;
private LinearLayout m_Line1;
private LinearLayout m_Line2;
private LinearLayout m_Line3;
public WaterfallView(Context context) {
super(context);
// TODO Auto-generated constructor stub
InitLine();
}
public WaterfallView(Context context, AttributeSet attrs) {
super(context, attrs);
InitLine();
}
private void InitLine() {
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
lp.weight = 1;
// line2
m_Line1 = new LinearLayout(this.getContext());
m_Line1.setOrientation(VERTICAL);
m_Line1.setLayoutParams(lp);
// line2
m_Line2 = new LinearLayout(this.getContext());
m_Line2.setOrientation(VERTICAL);
m_Line2.setLayoutParams(lp);
// line3
m_Line3 = new LinearLayout(this.getContext());
m_Line3.setOrientation(VERTICAL);
m_Line3.setLayoutParams(lp);
addView(m_Line1);
addView(m_Line2);
addView(m_Line3);
}
public ListAdapter getAdapter() {
return m_Adapter;
}
private void BindLayout() {
int count = m_Adapter.getCount();
for (int i = 0; i < count; i++) {
View v = m_Adapter.getView(i, null, null);
v.setOnClickListener(this.onClickListener);
if (i == 0 || i % 3 == 0)
m_Line1.addView(v);
if (i == 1 || i % 3 == 1)
m_Line2.addView(v);
if (i == 2 || i % 3 == 2)
m_Line3.addView(v);
}
Log.v("countTAG", "" + count);
}
private void AddItem(){
}
public void setAdapter(ListAdapter adapter) {
this.m_Adapter = adapter;
BindLayout();
}
public OnClickListener getOnclickListner() {
return onClickListener;
}
public void setOnclickLinstener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
}
}
Trong BindLayout chức năng có m_Adapter.getView(i, null, null);
sau đó paramView thứ hai convertView tôi muốn có lớp AbsListView bằng cách sử dụng RecycleBin Làm thế nào tôi có thể làm điều đó?
Tôi không hiểu câu hỏi .. Ông có thể được chính xác hơn? Hoặc kiểm tra lại câu của bạn cho các từ bị thiếu? –
Dcboy bạn có nhận được loại đầu ra này trong android không? –
Tôi đã trả lời này trên stackoverflow [ở đây] [1] [1]: http://stackoverflow.com/questions/12442795/pinterest-like-grid-in-android – Maurycy