Tôi có CustomComponent
lớp kéo dài ViewGroup
.Thanh cuộn đến ViewGroup tùy chỉnh
Source code của CustomComponent
:
public class CustomComponent extends ViewGroup {
private static final String LOGTAG = "CustomComponent";
private List<MenuItem> items;
private Context context;
private int screenWidth;
private int screenHeight;
private int cellWidth;
private int cellHeight;
private int duration;
private int space=7;
public CustomComponent(Context context) {
super(context);
this.context=context;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
Log.v(LOGTAG, "on Measure called");
screenWidth = MeasureSpec.getSize(widthMeasureSpec);
screenHeight = MeasureSpec.getSize(heightMeasureSpec);
cellHeight=screenHeight/AppConstants.HEIDHTCELLSCOUNT;
cellWidth=screenWidth/AppConstants.WIDTHCELLSCOUNT;
duration= cellHeight*2;
super.onMeasure(widthMeasureSpec, heightMeasureSpec+duration);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
Log.v(LOGTAG, "onLayout called");
int childCount = this.getChildCount();
for (int i = 0; i < childCount; i++) {
View child = getChildAt(i);
child.layout(items.get(i).getLeft(),items.get(i).getTop(),items.get(i).getRight(), items.get(i).getBottom());
}
}
public List<MenuItem> getItems() {
return items;
}
public void setItems(List<MenuItem> items) {
this.items = items;
}
}
Xml bố trí:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/menu_layout"
android:scrollbars="vertical">
<<package name>.CustomComponentandroid:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/menu_component"
android:scrollbars="vertical"
android:fadingEdge="vertical"/>
</LinearLayout>
tôi cần phải thêm cuộn dọc để ViewGroup
này. Xin vui lòng giúp đỡ, tôi không có ý tưởng làm thế nào để giải quyết vấn đề này.
Mã từ [tại đây] (http://code.google.com/p/android-masonry/source/checkout) đã làm việc cho tôi bạn có thể cần một số chỉnh sửa cho phù hợp với bạn – almuneef
Xin chào Natali, tôi biết câu hỏi này là quá già nhưng bạn đã nhận được giải pháp này. Nếu bạn có nó plz đăng nó. Tôi đang mắc kẹt trong tình huống tương tự – silwar
Xin chào. Tôi không tìm thấy giải pháp nào cho nó, vì vậy tôi đã sử dụng Giao diện tương đối với Chế độ xem tùy chỉnh (hộp màu) làm chế độ xem con. – Natali