私はRecyclerView
でアクティビティを持っています。このRecyclerView
は、Webサービス(無限のスクロール、リフレッシュなど)の呼び出しによって動的に設定されます。
1つのアイテムが写真の場合、表示したいだけです。ビデオの場合は、MediaController
のようなものをリストから直接再生することができます。
私はすでに私はこのレイアウトで欲しいもののようなもの(ここでは簡略化されています)達成:同じビューでさまざまなメディアを表示
@Override
public void onBindViewHolder(MyViewHolder viewHolder, int position) {
if (event.isVideo) {
viewHolder.img.setVisibility(View.INVISIBLE);
// loading video here
}
else {
viewHolder.vid.setVisibility(View.INVISIBLE);
// loading photo here (Glide is used to achieve this)
}
}
が、これは、いくつかのクリッピングを起こしているように見える:私のRecyclerView.Adapter
私は次の操作を行いでは
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:layout_marginBottom="7dp" >
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="300dp">
<ImageView
android:id="@+id/field_picture"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
/>
<VideoView
android:id="@+id/field_video"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
</LinearLayout>
を時々問題が発生し、ここで悪い練習をしていないと私は歩き回ります。
質問は次のとおりです。私はパフォーマンスの面で何をしたいのかを達成する最良の方法は何ですか(私のスクロールは本当に流動的でなければなりません)?
うまくいけば、私はちょうど私の異なるViewHoldersの抽象クラスで少し微調整しました! thx – Jonsmoke
いいアイデア:)あなたの歓迎 – Chami