0
我想将xml布局充气到自定义视图类中,然后将其放置到实际软件中的LinearLayout中。一些谷歌搜索后,我成功地创建通过使用下面的类膨胀布局定制类:如何将xml布局充气到子视图
layout.addView(new LitteringView(getActivity()));
的问题是,它需要的:
public class LitteringView extends RelativeLayout
{
public LitteringView(Context context) {
super(context);
// TODO Auto-generated constructor stub
View.inflate(context, R.layout.littering_layout, this);
}
public LitteringView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
// TODO Auto-generated method stub
for(int i = 0 ; i < getChildCount() ; i++){
getChildAt(i).layout(l, t, r, b);
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
现在,当我把它添加到的LinearLayout绝对膨胀整个屏幕,而屏幕应该在LinearLayout的三个孩子之间平分。其他视图也是动态创建的。我如何防止它占据整个空间?
我想创建一个自定义视图/类,并打包它的函数,然后我可以很容易地添加到父布局(在这种情况下LinearLayout),同时要利用XML来定义视图的布局。