2016-07-20 4 views
1
 <?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/parentLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context=""> 
    <include android:id="@+id/contentLayout" layout="@layout/content_our_story" /> 
</android.support.design.widget.CoordinatorLayout> 

content_our_story.xmlは動的に存在する内部クラスのキャスト例外に

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="" 
    android:layout_margin="5dp" 
    tools:showIn="@layout/activity_our_story"> 


</RelativeLayout> 

設定レイアウトのparamコードを示すファイルが含まれる相対レイアウトのレイアウトのパラメータを設定することはできません:

contentLayout = (RelativeLayout) findViewById(R.id.contentLayout); 
    RelativeLayout.LayoutParams param=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); 
     param.setMargins(0,0,0,0); 
     contentLayout.setLayoutParams(param); 

私はLayoutParamsを設定しよう"contentLayout"というIDを使用すると、クラスキャスト例外が表示され、コーディネーターのレイアウトになると予想されます。ただし、上記のような相対的なレイアウトが含まれています。

+1

CoordinatorLayout.LayoutParamsのparam =新しいCoordinatorLayout.LayoutParams(CoordinatorLayout.LayoutParams.MATCH_PARENT、CoordinatorLayout.LayoutParams.MATCH_PARENT)。 –

答えて

1

は、あなたがするのparamsを設定するビューの親のレイアウトのLayoutParamsを使用する必要があります。

CoordinatorLayout.LayoutParams param=new CoordinatorLayout.LayoutParams(CoordinatorLayout.LayoutParams.MATCH_PARENT, CoordinatorLayout.LayoutParams.MATCH_PARENT); 
関連する問題