在一个LinearLayout中动态添加View(Java代码实现):
for (int i = 0; i < mListViews.size(); i++) { View v = inflater.inflate(ovalLayoutId, null); ovalLayout.addView(v); }
其中OvalLayout是一个居中对齐的LinearLayout,ovalLayoutId是要添加的View。如何才能设置这些View之间的间隔(水平方向)?
闭关修行中......
LinearLayout是竖直的:
androidandroid:layout_marginBottom="Xdip" and/or android:layout_marginTop="Xdip"
android
android:layout_marginBottom="Xdip" and/or android:layout_marginTop="Xdip"
LinearLayout是水平的:
androidandroid:layout_marginLeft="Xdip" and/or android:layout_marginRight="Xdip"
android:layout_marginLeft="Xdip" and/or android:layout_marginRight="Xdip"
X 是一个数值, 比如: 3 .
希望能有帮助.
LinearLayout也有pider,类似ListView,给你的ovalLayout设置pider,然后设置pider的显示方式是middle就行了:
mContainer = new LinearLayout(getContext()); mContainer.setOrientation(LinearLayout.VERTICAL); mContainer.setpiderDrawable(getContext().getResources().getDrawable(R.drawable.common_pider_black_10)); mContainer.setShowpiders(LinearLayout.SHOW_pIDER_MIDDLE);
有很多种方法的,随便说两种: 1、通过给view设置LayoutParams,在addView的时候,将layoutParams也作为入参就可以了; 2、可以再view后面或者下面添加一个占有一定宽度但背景透明的BlankView,这样view之间就通过BlankView隔开了。
自己补充一下Java代码写法:
for (int i = 0; i < mListViews.size(); i++) { View v = inflater.inflate(ovalLayoutId, null); if(i==0){ ovalLayout.addView(v);//第一个view不用设置间隔 } else { LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lp.setMargins(15,0,0,0); v.setLayoutParams(lp); ovalLayout.addView(v); } }
LinearLayout是竖直的:
LinearLayout是水平的:
X 是一个数值, 比如: 3 .
希望能有帮助.
LinearLayout也有pider,类似ListView,给你的ovalLayout设置pider,然后设置pider的显示方式是middle就行了:
有很多种方法的,随便说两种:
1、通过给view设置LayoutParams,在addView的时候,将layoutParams也作为入参就可以了;
2、可以再view后面或者下面添加一个占有一定宽度但背景透明的BlankView,这样view之间就通过BlankView隔开了。
自己补充一下Java代码写法: