2017-09-21 4 views
0

カスタムの子ビュー(CustomView)でRecyclerViewを作成しようとしています。カスタムの子ビューは、私がViewとしてViewHolder内側に膨らましたいのではなく、専用のビュー(CustomView)としてそれを構築していない理由である、その中のいくつかの制限されたビューロジックを持っています。コンクリートを作成するためにコンプレッサを使用するときにRecyclerViewの子が親の高さに一致するようにする

私はこのような私のCustomViewのレイアウト宣言:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.CardView 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" 
    android:layout_margin="20dp" 
    app:cardCornerRadius="5dp"> 
<!-- ... --> 
</android.support.v7.widget.CardView> 

CustomViewのコンストラクタは次のようになります。

inflate(context, R.layout.layout_custom_view, this) 

onCreateViewHolderその後、ビューを構築します。

override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): CustomViewHolder { 
      val view = CustomView(parent!!.context) 
      val viewHolder = ... 
      return viewHolder 
} 

こと一般的にうまく動作します。しかし、私のCustomViewは、RecylerViewの高さと幅に一致するはずですが、レンダリングするだけで十分です。

CustomViewはどのようにして実際にRecyclerViewの高さと幅に一致させることができますか?

答えて

0

あなたがそれについて考えるとき、ソリューションは簡単です。単純に追加すると、ビューを構築した後に問題を解決した後に

view.layoutParams = RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.MATCH_PARENT) 

が問題を解決した。

関連する問題