2016-12-26 4 views
1

をビューを追加した後、私は以下のように2 imageViewlinearLayoutが含まれている相対的なレイアウトを持って働いていません。アンドロイドlayout_centerInParentプロパティはプログラム的

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/rlParent"> 
     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:orientation="horizontal" 
      android:layout_centerInParent="true"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/imageView" 
       android:layout_marginRight="5dp"/> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp"/> 

     </LinearLayout> 

</RelativeLayout> 

次に、カスタムsurfaceViewをプログラムで追加しました。 surfaceViewlinearLayoutを添加した後center.Iに表示されていないコードをlayout_centerInParentプロパティを設定しようとしたが、それは動作していません。

私を助けてください。

mPreview = new CustomSurfaceView(getActivity(),1, CameraPreview.LayoutMode.FitToParent, false,this); 
    LayoutParams previewLayoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 

    mLayout.addView(mPreview, 0, previewLayoutParams); 

mLayoutがReleativelayoutとmPreviewですが、カスタムsurfaceviewある

+0

あなたがプログラムでsurfaceViewを追加するJavaコードを追加することができますか? –

+0

は、あなたがプログラム的にあなたがLinearLayourまたはRelativeLayout内部 'surfaceView'を、追加 –

+0

をビューを追加する方法を示していますか? – FabioR

答えて

2

あなたの親のレイアウトを試してみてください。その後、あなたの子供のレイアウトだけ、centerInParentが動作します。

+0

をご確認ください – user1767260

+0

おかげで追加されていない場合は、更新質問 – user1767260

-2

は幅がmatch_parentでなければなりません(ここでRelativeLayout)このandroid:layout_centerHorizontal="true"の代わりandroid:layout_centerInParent="true"

0

は2行目と3行目

<RelativeLayout 
    android:id="@+id/rlParent"> 
    <LinearLayout 
     android:id="@+id/rlChild"> 

     ...... 

    </LinearLayout> 

View mPreview = findViewById(R.id.rlChild); 
RelativeLayout.LayoutParams previewLayoutParams = (RelativeLayout.LayoutParams)mPreview.getLayoutParams(); 
previewLayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); 
mPreview.setLayoutParams(previewLayoutParams); 
mLayout.addView(mPreview); 
+0

感謝を働いている – user1767260

+0

セットRelativeLayoutの高さと幅が動作していない「match_parent」の –

0

...これを試してみてください、あなたはmatch_parentを記述する必要があります。そのため、centerinparentは機能しません。

関連する問題