我试图通过拖放到LinearLayout来添加ImageViews。添加5个ImageView后,LinearLayout大小应该增加,ImageViews应该添加到LinerLayout的Next行。基本上我想在LinearLayout中添加5组ImageView。第一行中的前5行,第二行中的后5行等...
任何想法如何实现这一目标。我以下面的方式尝试了它,但是在增加LinerLayout的高度后没有添加图像视图。
case DragEvent.ACTION_DROP:
if(v == findViewById(R.id.dragDropHereLinear)) {
View view = (View) event.getLocalState();
ViewGroup viewgroup = (ViewGroup) view.getParent();
//viewgroup.removeView(view);
ImageView iv = new ImageView(getApplicationContext());
LinearLayout containView = (LinearLayout) v;
TextView textView = (TextView) findViewById(R.id.tvDragDropHere);
if(count > 4 ) {
count = 0;
containView.getLayoutParams().height = containView.getLayoutParams().height + 200;
containView.requestLayout();
//invalidate();
}
iv.setPadding(5, 0, 5, 0);
containView.addView(iv);
iv.setVisibility(View.VISIBLE);
view.setVisibility(View.VISIBLE);
count++;
} else {
View view = (View) event.getLocalState();
view.setVisibility(View.VISIBLE);
Context context = getApplicationContext();
Toast.makeText(getApplicationContext(), "problem in dropping the image",
Toast.LENGTH_LONG).show();
}
break;
答案 0 :(得分:0)
您只需设置布局高度=" match_parent"在您的xml文件中,或者您可以像这样动态设置.....
LayoutParams layoutParams = (LayoutParams) layoutname.getLayoutParams();
layoutParams.width = FrameLayout.LayoutParams.FILL_PARENT;
layoutParams.width = FrameLayout.LayoutParams.WRAP_CONTENT;
答案 1 :(得分:0)
根据您的要求,我建议您使用 FlowLayout 。
FlowLayout 是扩展线性布局,当当前行中没有位置时,它会包装其内容。 你可以找到here