2010-03-14 81 views
0

以下xml版本正确处理高度和宽度,java不会丢失什么java?xml vs java LinearLayout填充

XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" android:layout_width="fill_parent" 
    android:orientation="horizontal"> 
    <include android:id="@+id/cell1" layout="@layout/grid_text_view" /> 
    <include android:id="@+id/cell2" layout="@layout/grid_text_view" /> 
</LinearLayout> 

的Java

LinearLayout ll = new LinearLayout(this); 
ll.setOrientation(LinearLayout.HORIZONTAL); 
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
ll.addView((TextView)this.getLayoutInflater().inflate(R.layout.grid_text_view, null)); 
ll.addView((TextView)this.getLayoutInflater().inflate(R.layout.grid_text_view, null)); 
setContentView(ll); 

grid_text_view

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" 
    android:layout_width="0dip" 
    android:text="1" 
    android:textSize="20sp" 
    android:gravity="center" 
    android:layout_weight="1" /> 

我已经尝试了ll.invalidate(),它也不能工作? :(

截图在http://www.flickr.com/photos/[email protected]/sets/72157623618407586/

+0

使用'hierarchyviewer'来检查您的活动并查看您所期望的未应用的设置。 – CommonsWare 2010-03-14 17:46:18

回答

2

你传入null作为充气()方法的第二个参数。这将防止布局充气从产生适当的LayoutParams用于充气视图,而是通过空,通如果你调用inflate(R.layout.mytextview,ll,true),你甚至不需要调用addView(),最后一个参数是true,意思是“将膨胀视图附加到父对象。“