2014-07-06 2 views
0

프로그래밍 방식으로 추가하려고합니다. 다음은 상위 뷰입니다.프로그래밍 방식으로보기에서 속성을 수신하지 않는보기 추가

<?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

고맙습니다! 나는 내 의견을 팽창시킬 때 논쟁을 놓쳤다. –