2014-07-06 59 views
0

我试图以编程方式添加。这是父视图。Android以编程方式添加视图不听属性

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/test" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center_horizontal" > 

</LinearLayout> 

这是要添加的视图。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="50dp" 
    android:layout_centerHorizontal="true" > 

    <TextView 
     android:id="@+id/textview" 
     android:text="TEST" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

</RelativeLayout> 

这是代码。

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 
    View view = inflater.inflate(R.layout.test, container, false); 

    LinearLayout linear = (LinearLayout) view.findViewById(R.id.test); 
    RelativeLayout layout; 
    ImageView image; 
    TextView text; 
    LayoutParams lp; 

    layout = (RelativeLayout) inflater.inflate(R.layout.test_row, null, false); 
    linear.addView(layout); 
    return view; 
} 

它增加了视图,但它不居中,它也忽略topmargin属性。我究竟做错了什么?

答:我用容器充气我的视图时替换为null,做了窍门。

回答

0

这似乎是一个重复,你所需要做的就是指定父视图,而不是稍后将其添加到父视图。希望这可以帮助。见 Layout params of loaded view are ignored

+0

谢谢!当我夸大我的观点时,我错过了一个论点。 –

相关问题